10分後にビルドを自動キャンセルしたい

例えば、長時間実行されてしまうテストがあり、クレジットを消費を抑えたい場合などに一定時間経過後にビルドをキャンセルしたい場合があります。

background step を活用する事でsleep 1000などを行い、時間が経過したらビルドをキャンセルする API を呼び出す仕組みを用意します。

まず、Personal API トークンを生成し、プロジェクト設定もしくは context に変数(CIRCLE_TOKEN)として保存します。次に、自動キャンセルしたい Job に下記のコマンドを checkout 前などに配置します。

- run:
    name: Cancel build after set time
    background: true
    command: |
      sleep 1000
      echo "Canceling workflow as too much time has elapsed"
      curl -X POST --header "Content-Type: application/json" "https://circleci.com/api/v2/workflow/${CIRCLE_WORKFLOW_ID}/cancel?circle-token=${CIRCLE_TOKEN}" 

sleep 1000 を変更することで、Job を自動キャンセルするタイミングを調整が行えます。

この記事は役に立ちましたか?
5人中1人がこの記事が役に立ったと言っています

コメント

0件のコメント

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