Skip to content
Latchkey

GitHub Actions における cron スケジュールとは?

cron スケジュールは、schedule トリガーを介して cron 構文を使い、ワークフローを定期的な時刻に実行します。

夜間ビルド、週次の依存関係チェック、毎時のヘルスプローブなど、イベントではなく時刻ベースの作業もあります。cron 構文を使った schedule トリガーは、定期的な時計に従ってワークフローを実行します。

概要

1 つ以上の cron: エントリを持つ schedule トリガーです。各エントリは、ワークフローをいつ実行するかを記述する、UTC 基準の 5 フィールドの cron 式です。

Scheduled triggers
on:
  schedule:
    - cron: '0 2 * * *'   # daily at 02:00 UTC
    - cron: '0 */6 * * *' # every 6 hours

仕組み

GitHub は cron 式を UTC で評価し、一致する時刻にワークフローをキューに入れます。スケジュール実行は常にデフォルトブランチのワークフローファイルを使用します。

注意点

  • 時刻はローカルのタイムゾーンではなく UTC です。
  • 高負荷時には実行が遅延することがあり、正確なタイミングは保証されません。
  • 非アクティブなリポジトリのスケジュールは自動的に無効化される場合があります。

重要な理由

スケジュールされたワークフローは、push を待つべきではないメンテナンスを処理します。ここでは信頼性が重要です。Latchkey のマネージドランナーは、自己修復フリート上でスケジュールジョブを引き受けるため、不良インスタンスが夜間実行を静かにスキップしてしまうことがありません。

関連する概念

schedule イベントは数あるトリガーの 1 つであり、デフォルトブランチからのみ実行されます。

重要なポイント

  • cron スケジュールは、定期的な時計に従ってワークフローを実行します。
  • cron 式は 5 つのフィールドで、UTC 基準です。
  • スケジュール実行はデフォルトブランチを使用し、遅延する場合があります。

関連ガイド