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- この構文はfugit modulo extensionのものです。
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を人間が読める文字列に変換します。