基本的な設定
on:
schedule:
- cron: '0 9 * * *' # 毎日9時(UTC)
よく使うcron設定例
0 9 * * * # 毎日9時(UTC)
0 0 * * 1 # 毎週月曜日0時
0 9 1 * * # 毎月1日9時
*/30 * * * * # 30分ごと
JSTに変換する
GitHubのcronはUTCなので9時間の差がある。
JSTの9時 = UTCの0時 → cron: '0 0 * * *'
手動実行も可能にする
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
ハマったポイント
- cronはUTCなのでJSTと9時間ずれる
- リポジトリにアクティビティがないと無効化されることがある
Linuxのcronジョブとの使い分けについてはLinuxでCronジョブを設定して定期実行する方法も参考にしてほしい。GitHub Actionsのスケジュールはリポジトリへのアクセスが必要な処理に、サーバー側の処理はcronで使い分けるのが一般的だ。
関連記事
- GitHub Actionsで自動デプロイする基本的な設定方法
- GitHub ActionsでSecretsを使って秘密情報を管理する方法
- GitHub ActionsでNode.jsのキャッシュを使ってビルドを高速化する方法
- GitHubで初めてリポジトリを作ってpushする手順
おすすめのVPS
VPSを使って本番環境を構築するなら、以下のサービスがおすすめです。
より詳しく学びたい方へ
この記事の内容をさらに深掘りした実践ガイドをZennで公開しています。