Skip to content
Latchkey

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に対して実行されるため、頻度をコストに合わせて調整します。

関連ガイド