2017-09-07 3 views
1

いくつかのテストも実行しているCIビルドをセットアップしました。なぜVisualStudioOnline CIが前提条件でビルドの取得ソースが遅いのですか?

[GetSources]ステップで[Clean]がtrueに設定されています。 私はgit repoを使用しています。

ホストエージェントでビルドを実行すると、「getSources」に約20秒かかります。オン・プレミス・エージェントでビルドを実行すると、「getSources」には約20分かかります!

私は、オンプレミスエージェントがCPUとメモリに関してほとんどアイドルであることがわかります。また、ネットワーク速度が約50 MBit/sであることも確認しました。

なぜgetSourcesが長時間かかるのですか?

+0

Gitリポジトリはどれくらいクローンされていますか? –

+0

VSTSからの手動gitクローンはどのくらいの期間、オンサイトのビルドサーバーに移行しますか? – DaveShaw

+0

レポは約530 MBで、構内システムへのクローンは約7分続きます。 – ChrisM

答えて

1

[駆除]オプションは、ホステッドエージェントには影響しません。

クリーンなオプション(クリーンソース/すべてのビルドディレクトリ/出力ディレクトリなどの場合はfalseまたはtrue)に設定しても、ホステッドエージェントを使用してビルドをキューに入れるときは常にソースのみをダウンロードします。

[Clean]をtrueに設定し、すべてのビルドディレクトリをクリーンアップするとします。プライベートエージェントの場合、ソースフォルダー、バイナリーフォルダー、成果物フォルダーなどを含む作業フォルダー全体が削除されます。しかし、Hostedエージェントの場合は、毎回ソースをダウンロードするだけです。

したがって、Hostedエージェントの実行時間は、ほとんどの時間プライベートエージェントと異なります。

を構築するプライベートエージェントをスピードアップするには、以下の特徴のいずれかを辿ることができますようクリーン設定

  • (より効率的な)はfalse。

    CIビルドをキューイングしているので、Cleanをfalseに設定すると、プライベートエージェントは変更/作成/削除されたファイルのみをローカルソースフォルダに更新します。

  • まだクリーンをtrueに設定する必要がある場合は、ソースをクリーンにしてください。

    ファイルとサブフォルダのソースフォルダ(s/)のみをクリーンアップします。しかし、あなたのプロジェクトが十分な大きさであれば、Cleanをfalseに設定する方が良いでしょう。

+0

**ソースをクリーンアップするだけで、プライベートエージェントがソースを取得するステップは何秒ですか?それでもまだホステッドエージェント間の相違が大きい場合は、ログを個別に表示できますか? –

0

"なぜ?"と答えるには、システムとMicrosoftのデータセンター間ですべてのファイルをコピーしていることが重要です。私は同じことを体験し、追加のパイプラインを購入して対応しました。

関連する問題