テストが失敗した場合にすぐにビルドを終了する

特定のビルドがテストで失敗したら、すぐにビルドを強制終了したい場合があります。たとえば、複数のコンテナにテストを分割しているときなどに、これが必要になります。

テスト実行ステップの後に以下を追加することで、対応できます。

- run:    name: Fail Fast    when: on_fail    command: |      echo "Canceling workflow as a step resulted in failure"      curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}" 

上記のコマンドの前提条件として、パーソナル API トークンを生成し、それをプロジェクト レベルの環境変数 CIRCLE_TOKEN に格納しておく必要があります。

上記のコマンドを実行すると、ビルドが "失敗" 状態になったとき (例えばテストが失敗した場合など) に、API を呼び出し、ワークフロー全体をキャンセルします。

この解決策に関しては、いくつか注意点があります。

  1. ワークフローは "失敗" 状態になることなくキャンセルされます。
  2. このコマンドは、テストの失敗時だけではなく、ジョブ ステップのあらゆる失敗時に対して実行されます。
この記事は役に立ちましたか?
4人中1人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。