私の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を使用することです。
私が試してみたいもう一つのことは、自動的に "開始に失敗しました"ビルドをキューに追加し、別のエージェントで実行するように強制することです。問題のエージェントは通常、数分で解決しますので、すぐに別のエージェントでビルドを開始するのは良い一時的な解決策です。
「失敗した」ビルドをこのようにキューに再度追加することは可能ですか?
私はビルドがUIから特定のビルドを開始する手動で起動するのではなく、ために失敗したときに自動的に新しいビルドをキューにしたいです。 –