cron

cron構文は、ジョブの実行をスケジュールするために使用します。

パイプラインのスケジュールを作成したり、デプロイフリーズを設定して意図しないリリースを防ぐために、cron構文文字列を使用する必要があるかもしれません。

cron構文

cronのスケジューリングでは、スペースで区切られた5つの数字を使用します:

# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>

(出典:ウィキペディア)

cron構文では、アスタリスク(*)は’every’を意味するので、以下のcron文字列は有効です:

  • 1時間に1回、毎正時に実行します:0 * * * *
  • 1日1回、午前0時に実行0 0 * * *
  • 週1回、日曜日の午前0時に運行:0 0 * * 0
  • 月1回、毎月1日の午前0時に運行:0 0 1 * *
  • 毎月1回、22日に実行:0 0 22 * *)
  • 毎月1回、第2月曜日に開催:0 0 * * 1#2
  • 年1回、1月1日午前0時に実施:0 0 1 1 *
  • 隔週日曜日0900時0 9 * * sun%2

cron の完全な文書については、crontab(5) - Linux の手動ページを参照してください。このドキュメントはLinuxやMacOSのターミナルでman 5 crontab

cronの例

# Run at 7:00pm every day:
0 19 * * *

# Run every minute on the 3rd of June:
* * 3 6 *

# Run at 06:30 every Friday:
30 6 * * 5

cronスケジュールの書き方の例はcrontab.guruにあります。

GitLabがcron構文文字列を解析する方法

GitLabはfugit 、サーバー上でcron構文文字列を解析し、ブラウザ上でcron構文を検証するためにcron-validatorを使用します。GitLabはcRonstrue 、ブラウザ上でcronを人間が読める文字列に変換します。