0

仕事で非常に大規模な継続的なビルド (数百の Visual Studio ソリューション、数千のプロジェクト) を実装することを考えています。.NET、C++、および VB6 コードが含まれています。TeamCity でいくつかのソリューションを構築していますが、依存関係が正しく設定されていません。ソースコードと TeamCity (または別のツール) の間で依存関係を同期させることは、この規模ではまったく非現実的に思えます。 TeamCity でソリューションの依存関係を自動的に検出するツール/プラグインがあるかどうかは誰にもわかりませんか? 他の継続的インテグレーション ツールではどうですか? .NET プロジェクトでしか機能しない場合でも、それは大きな助けになります。

ファイル アクセスを監視することで依存関係を推測する小さなコマンド ライン ツール ( gittup.org/tup ) を見つけました。この手法をより大規模なビルド ツールに適用することは可能と思われますが、それが行われたかどうかはわかりません。あるいは、まったく別の解決策があるかもしれません。

4

1 に答える 1

0

検出は難しいです。

私の会社のAnthillProツールは、何百もの相互依存コンポーネントを持ち、それらのビルドを管理する必要があるチームによって使用され、特定の変更によって影響を受けるコンポーネントのみをスマートに再構築します。

私が実際に成功したアプローチの 1 つは、依存関係の定義を開発者にプッシュすることです。一部のチームでは、ソリューション間の依存関係をリストしたファイルを管理する必要があります-「ソリューションをコンパイルするために、ダウンロードして lib/bin ディレクトリに配置する必要がある他のもの」。これは、多くの Java 開発チームが Maven で行っていることと似ています。検出しようとするのではなく、開発チーム全体に依存関係の定義を配布することを検討します。

その時点でのビルド管理ツールの役割は、ビルド時にそのファイルを解析し、舞台裏で依存関係グラフのモデルを更新することです。その情報は、アーティファクトの取得と、関連するビルドのトリガーの両方に使用できます。

于 2012-08-01T19:35:01.410 に答える