例えば、長時間実行されてしまうテストがあり、クレジットを消費を抑えたい場合などに一定時間経過後にビルドをキャンセルしたい場合があります。
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 を自動キャンセルするタイミングを調整が行えます。
コメント
記事コメントは受け付けていません。