2012-01-03 21 views
0

次のビルドをビルドする前に1つのプロジェクトをビルドするプロジェクトがあり、次のビルドで最初のビルドの 'パス'を知る必要がある場合は、これを取得できますか?TeamCityの依存関係の作業ディレクトリ?

例えば:

プロジェクトAは、コンフィギュレーションAを構築し、設定B.

を構築するビルド構成Bはビルドの設定Bなしからビルド・コンフィギュレーション・A.に依存していた、それはパスへのアクセスが必要になりますビルド構成のA.これを取得する方法はありますか?

答えて

0

ほとんどのシンプルなアプローチは、Aでカスタムチェックアウトディレクトリを定義し、チームシティーのスナップショットやアーティファクトの依存関係を使用する場合は、%dep.btXXXを使用することができますB.

に同じハードコーディングされた値を用いることであろう。 teamcity.build.checkoutDir%依存関係ビルドのチェックアウトディレクトリを取得します。ただし、TeamCityバージョン6.5.0-6.5.5では動作しません。TW-18715の詳細と回避策を参照してください。

しかし、あるビルドのcheckoutディレクトリに別のビルドからアクセスすることは避けてください。 Aのソースが必要な場合は、Bでそれらをチェックアウトすることができます。 Aのビルドを出力した場合、ビルドの成果物として出力をパブリッシュしてから、TeamCityアーチファクトの依存関係を使用する方法があります。どちらの場合も、TeamCityスナップショットの依存関係をさらに使用することで、両方のビルドで必要と思われるものと同じソーススナップショットを使用できるようになります。

0

エージェントが1人で、エージェントが1人しかいない場合は、以前のビルドからのパスを試してみることができます。

ただし、2人のエージェントがいる場合、または2人のエージェントに今後拡張される場合は、プロジェクトが異なるエージェントで構築される可能性があります。これは依存関係の作業ディレクトリが同じマシン上に存在しないか、最新のものが他の場所に構築されたときに古いものになることを意味します。

出力を取得するために最初のビルドのパスを使用しているとしますか?

もしそうなら、私たちがプロジェクト間の依存関係を共有する方法は、各プロジェクトの出力をソース管理にチェックインするだけです。出力を必要とするすべてのプロジェクトはそれらをチェックアウトするだけです。