我有一個具有多個構建配置的teamcity管道。其中一些需要數據庫進行測試。到目前爲止,我還有一個在TeamCity中配置爲共享資源的db模式池。作爲第一步,每個構建配置都會鎖定一個模式,然後將DB部署到其中。現在,我想要有一個可以鎖定資源的構建配置,部署db,然後應該由管道中的其他構建使用它。保留對TC管道中共享資源的鎖定(構建配置之間)
喜歡的東西:
deploy_db -> build_binaries -> unit tests
-> integration tests
-> ... other tests
我想運行測試構建並行。爲此,我需要在deploy_db中鎖定一個模式,然後將鎖傳遞給其他的構建。可能嗎?
也許我可以從deploy_db中的模式池中鎖定任何值,然後在其他構建配置中使用%dep.deploy_db.locked_schema%來鎖定特定值。
然而,可能是另一個分支的構建可能會觸發可能鎖定相同模式的deploy_db(使用「鎖定任何值」)?我的意思是,如果它在deploy_db完成之後並在下一次構建執行鎖定之前觸發,可能是可能的。在deploy_db之後以及在再次獲取之前釋放鎖的時間會很短。從技術上講,另一個版本可能會鎖定同一個值。是否有可能防止這種情況發生?
例如,我可以從管道中鎖定第一個版本的值,並在最後一個版本中釋放它?