scheduled pipelineとは? cronタイマーで実行する
scheduled pipelineは、cronスタイルのスケジュールで定義された時刻に、コード変更とは無関係に自動実行されます。
ほとんどのpipelineはイベントに反応します。push、pull requestなどです。scheduled pipelineは代わりに時計で実行されます。スケジュール (毎晩2時、1時間ごと、毎週月曜) を与えると、何かが変わったかどうかに関係なくそのペースで発火します。scheduled pipelineは、単一のcommitに対応しない定期的な作業をチームが実行する手段です。
スケジュールの見た目
スケジュールは通常cron構文で表現されます。分、時、日 (月内)、月、曜日の5つのフィールドです。CIシステムがそれらを評価し、スケジュールが一致するたびにrunを開始します。
scheduled pipelineがすること
- nightly buildと完全なテストスイート。
- 定期的な依存関係とセキュリティのスキャン。
- 繰り返しのデータjobやクリーンアップタスク。
- cacheの事前ウォームや環境のリフレッシュ。
簡単な例
trigger cron: "0 3 * * 1" は毎週月曜の3時にpipelineを実行します。毎commitで実行するには遅すぎる、週次の依存関係更新や完全なリグレッション runに最適です。
どのcommitに対して実行されるか?
スケジュール runは通常、選択したbranch (多くの場合デフォルトbranch) の最新commitに対して実行されます。push triggerとは違い特定の新しいcommitがないため、branchが現在ある地点をそのまま拾います。
scheduled pipelineとコスト
スケジュールは必要かどうかに関わらず実行されるため、computeを着実に消費します。頻度を適切なサイズに調整し、オフピークに実行しましょう。従量課金のrunner (Latchkey) は各スケジュール runの正確なコストを表示するので、ペースを調整できます。
重要なポイント
- scheduled pipelineは、コード変更ではなくcronスタイルのタイマーで実行されます。
- nightly build、スキャン、繰り返しのメンテナンス作業に向いています。
- branchの最新commitに対して実行されるため、頻度をコストに合わせて調整します。
関連ガイド
What Is a Nightly Build? Scheduled End-of-Day PipelinesA nightly build is a pipeline that runs on a schedule, usually overnight, to do heavier checks than every-com…
What Is a Build Trigger? What Starts a PipelineA build trigger is the event or condition that starts a pipeline run, such as a push, pull request, schedule,…
What Is a Pipeline Event? The Signal That Drives CIA pipeline event is a signal, like a push or pull request, that the CI system reacts to by deciding whether t…