1

TeamCity ビルドのアーティファクトを別の TeamCity ビルドの依存関係として参照する (コピーしない) 方法はありますか?

背景: いくつかの TeamCity 構成でビルド時間を短縮しようとしています。これは、いくつかのサードパーティ ライブラリに依存する C++ プログラムであり、システム管理者がビルド マシンにインストールすることを嫌がっています。

私たちの最初の実行では、構成内のビルドステップとしてライブラリを圧縮し、解凍/コンパイルしました。これには時間がかかるため、システム管理者は、サードパーティの lib 解凍/コンパイルを別の構成に移動し、そのビルドのアーティファクトをビルドの依存関係として設定することを提案しました。

ただし、このビルド構成では状況が悪化します。拡張/コンパイルされたサードパーティ ライブラリのサイズ (1GB 以上) により、実際には元の構成が 10 分以上高速になります。何かをコピーせずにアーティファクトディレクトリを参照するだけの方法があれば、それは素晴らしいことです.

4

2 に答える 2

1

私の知る限り、サーバーからエージェントへのアーティファクトのコピーを防ぐ方法はありません。コンパイラ/リンカーが依存関係を見つけることは不可能です...

私の意見では、圧縮されたアーティファクトを公開し(「.zip」を宛先パスに延期するだけです)、「最後に成功したビルド」からそれらをフェッチすることで、両方の構成を最大限に活用できます。

このようにして、それぞれのソース コードの変更時にのみ lib の再コンパイルをトリガーし (全体のビルド時間の短縮)、アーティファクトは圧縮されたアーカイブとして転送されます (転送時間の短縮)。

おそらく、各ライブラリを他のライブラリとは別にビルドすることで、さらに最適化できます。変更が保留されているライブラリのみが再コンパイルされます。

于 2013-08-26T21:33:57.087 に答える