Team Foundation Build Server の実装でパフォーマンスの問題が発生しており、速度を上げる方法についてのアイデアが不足しています。いくつかのステップ (SkipClean、SkipLabel、SkipInitializeWorkspace) でパフォーマンスを向上させるために、いくつかの PropertyGroup 要素を既に追加しましたが、問題を修正するには大幅な再構築が必要だと思います。セットアップは次のとおりです。
- それぞれが大きく異なる約 40 の Web アプリケーションがありますが、多数の共有アセンブリから実行されます。
- これらの Web アプリケーションにはそれぞれ独自のソリューションがあります。
- これらの Web アプリケーションごとに、約 10 ~ 25 個の共有アセンブリが参照されます。
- トランクへのチェックインごとに起動されるすべてのソリューションを含むビルド定義が存在します。
そして、これが私たちが直面している基本的な問題です
- ビルド中に、一度ビルドしてアプリごとに使用するのではなく、参照された回数だけ各共有アセンブリをビルドします。
- ドロップ ディレクトリのファイル コピー時間は非常に遅いです。ネットワーク共有を介する必要があり、ローカル パスを使用しません。
- 非常に多くのビルドごとに、1 つ以上の出力ファイルが「ロック」され、コンパイルが正常であってもビルドが中断されます。
- 別のビルド定義も試しましたが、そうすると、Get Latest バージョンで別のワークスペースを強制的に取得することになります。ビルド サーバーには、ビルドするトランクの 1 つのバージョンが含まれている方がよいでしょう。
過去数か月間、無気力に屈してこの問題を無視してきましたが、現在、ビルド時間は 1 時間から 1 時間半を超えています。
私はクルーズコントロールを学び、より優れたコントロールのためにクルーズコントロールに切り替えるという考えをいじっています. それに同意しない人はいますか?
どんな助けでも大歓迎です。ありがとう!