2011-01-07 18 views
9

TeamCityのアーティファクトページには、すべてのアーティファクトをzipファイルとしてダウンロードするオプションがあります。TeamCityジップアーティファクト依存関係

実際に圧縮されたバージョンのアーティファクトを取得するために依存するビルド構成を設定できるかどうかは疑問でしたか?

私は、最初にそれらを作成するプロジェクト構成ですべてのアーティファクトを圧縮することができますが、私はそれをやりたいとは思いません。

また、Nantのようなものを使用すると、それらを取り込んだ後で圧縮することができますが、送信されるファイルが最初に圧縮された場合、これらのアーティファクトの転送がおそらくもっと速くなる可能性があります。

他の各プロジェクトから圧縮された成果物を転送する方法を知っている人はいますか?これがTeamCityでサポートされているのですか?

+0

これまでの回答は見つかりましたか? – reach4thelasers

答えて

17

うんを動作するはずです:.build.id

はこちら続きを読みます。これは、少なくとも現在のバージョンのTeamCity(6.5.3)ではかなり簡単です。あなたの「メイン」プロジェクトでは、zip形式の成果物を作成:ビルド後

MyProjectBuildFolder\** => mybuild-%system.build.number%.zip 

を、あなたはジップアーティファクトにすべてのファイルが表示されます。次に、新しいビルド構成を作成します。このビルドの依存関係を編集し、新しい "アーティファクト依存関係"を追加したいと思うでしょう。そのようにそのプロパティを編集します。上からメインプロジェクトからビルド構成:

  1. はに依存しています。あなただけのzipファイルをコピーする場合、これは*.zipになります:最終ビルドが成功
  2. アーティファクトパス:
  3. からアーティファクトを取得します。 TeamCityでzipファイルを解凍する場合は、*.zip!**を使用してください。
  4. 先のパス:% some.parameter.representing.your.path%を依存ビルドのランナーがキックオフされたときに

は今、それはあなたのメインプロジェクトから最新のzipアーカイブを取得し、解凍します依存するビルドのデスティネーションフォルダにコピーします。

0

おそらく、最初のビルドステップで、従属構成へのURLを構築することで、手動でZIPファイルを取得できます。ビルドでは、依存ビルドのパラメータを取得することができます。これにより、URLを構築するのに役立ちます。

URLは次のようになります。 http://your.server/(guestAuth|httpAuth)/repository/downloadAll/bt457/12345:id/artifacts.zip

どこbt457 - あなたはシステムプロパティdep.bt457.teamcityとしてビルドでは入手することができるはず依存ビルドのIDを構築する - あなたのビルド構成 12345のID http://confluence.jetbrains.net/display/TCD6/Predefined+Build+Parameters#PredefinedBuildParameters-DependenciesProperties

このすべてではない非常にエレガントに、それは