2016-04-26 60 views
2

我有一個具有多個構建配置的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之後以及在再次獲取之前釋放鎖的時間會很短。從技術上講,另一個版本可能會鎖定同一個值。是否有可能防止這種情況發生?

例如,我可以從管道中鎖定第一個版本的值,並在最後一個版本中釋放它?

回答