Teamcity
以前の手順が失敗した場合でも、ビルド手順の実行が進行しているという問題が発生しています。
ビルド構成の最後のステップでサイトをデプロイしますが、テストのいずれかが失敗した場合にサイトをデプロイしたくありません。
各ビルドステップは、前のすべてのステップが成功した場合にのみ実行されるように設定されています。
[ビルドの失敗条件]タブで、次の場合にビルドの失敗で次のオプションを確認しました。
-build process exit code is not zero
-at least one test failed
-an out-of-memory or crash is detected (Java only)
これは機能しません-テストが失敗した場合でも、TeamCityが私のサイトをデプロイするのはなぜですか?
ビルドログで特定のテキストを検索するビルド失敗条件を追加しようとしました(つまり、「テスト実行に失敗しました」)。
概要ページで完了したテストを表示すると、最新のビルドに対するエラーメッセージが表示されます。
「テストの実行に失敗しました。」ビルドログにテキストが表示されました
しかし、それでもとにかくそれを展開します。
誰かがこれを修正する方法を知っていますか?この問題は長い間続いているようです。
どうやら回避策があります:
これまでのところ、明らかな回避策があるため、この機能はそれほど重要であるとは考えていません。スクリプトは必要な条件をチェックでき、TeamCityで構成されたアーティファクトを生成しません。
たとえば、スクリプトは、アーティファクトを一時ディレクトリからTeamCityで指定されたディレクトリに移動して、終了直前からビルド操作が成功した場合にアーティファクトを公開できます。
しかし、それを正確に行う方法については私にはわかりません。また、最善の解決策のようにも思えません。助けていただければ幸いです。
編集:スナップショットの依存関係の問題を回避することもできました。テストビルドに依存する別の「デプロイ」ビルドがあり、テストが失敗した場合は実行されません。
これは、依存関係を設定するのに役立ちました。