2017-01-31 15 views
0

私のWindowsビルドエージェントの1人は、以前のビルドからチェックアウトディレクトリをクリーンアップできなかったため、「開始に失敗しました」というメッセージが表示されることがあります。これは、通常、MSBuildプロセスがファイルハンドルにぶら下がっているためです。これに別のエージェントで「失敗しました」ビルドを再開

[Updating sources] Failed to perform checkout on agent: '"C:\Program Files\Git\bin\git.exe" clean -f -d -x' command failed. 
exit code: 1 
stdout: Removing bin/ 
[...] 
stderr: warning: failed to remove bin/prod/otherDirectory 
warning: failed to remove bin/prod/yetAnotherDirectory 

一つの解決策は、次のビルドが始まる前にdescribed in this answerとして、プロセスを殺すためにSwabraを使用することです。

私が試してみたいもう一つのことは、自動的に "開始に失敗しました"ビルドをキューに追加し、別のエージェントで実行するように強制することです。問題のエージェントは通常、数分で解決しますので、すぐに別のエージェントでビルドを開始するのは良い一時的な解決策です。

「失敗した」ビルドをこのようにキューに再度追加することは可能ですか?

答えて

0

TeamCityには私の要件を満たすRetry Build Triggerがあります。ビルドを実行するエージェントを指定することはできませんが、「Seconds to wait」パラメータとビルドキューの性質によって軽減されます。

Retry Build Trigger UI, TeamCity 10.0.5

0

ビルドを実行するエージェントを手動で指定する方法に関する質問はありましたか?その場合はカスタムビルド機能があり、ドロップダウンから希望するエージェントを選択することができます。 「実行」の横にある「...」ボタンをクリックするだけです。

+0

私はビルドがUIから特定のビルドを開始する手動で起動するのではなく、ために失敗したときに自動的に新しいビルドをキューにしたいです。 –

関連する問題