2016-04-26 5 views
2

ビルド構成が複数あるチームシップパイプラインがあります。その中には、テストのためのデータベースが必要なものもあります。現在のところ、私は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の後にロックが解除され、再度取得されるまでの間に短時間の時間があります。技術的に別のビルドでは、この時間に同じ値をロックすることができます。これを防ぐことはできますか?

たとえば、最初のビルドの値をパイプラインからロックし、最後のビルドで解放することはできますか?

答えて

関連する問題