GitHub Actions ワークフローを30 分ごとに実行する
GitHub Actions で「30 分ごと」を表す式は */30 * * * * です。以下に、そのまま使える設定、次回の実行時刻、注意点をまとめます。 GitHub Actions は on.schedule で POSIX cron を使い、デフォルトブランチで実行します。タイムゾーンを指定しなければ UTC です。
*/30 * * * *ツールで開く“30 分ごと”
GitHub で実行が遅れる? 定刻に起動する →
ワークフローファイル
.github/workflows/every-30-minutes.yml
name: every-30-minutes
on:
schedule:
- cron: '*/30 * * * *'
timezone: 'UTC'
workflow_dispatch:
jobs:
run:
runs-on: ubuntu-latest
steps:
- run: echo "running every-30-minutes"GitHub Actions の注意点
最短は 5 分GitHub のドキュメントでは、スケジュール実行の最短間隔は 5 分ごとです。それより短い間隔は期待できません。
遅れたり落ちたりする混雑時、特に毎時 0 分は実行が遅れ、一部は破棄されることがあります。時刻が重要なら 0 分を避けてください。
timezone を指定しなければ UTCschedule のエントリに timezone: と IANA 名を追加します。ないと UTC で実行されます。
デフォルトブランチのみ、停止されることもスケジュールはデフォルトブランチの最新コミットで動きます。公開リポジトリでは 60 日間活動がないと無効になります。
よくある質問
GitHub Actions で「30 分ごと」を表す cron 式は?
*/30 * * * * です。意味:30 分ごと
GitHub Actions のスケジュールはどのタイムゾーンで動きますか?
デフォルトは UTC です。schedule の cron: の横に timezone: と IANA 名(例:Asia/Tokyo)を書きます。
GitHub Actions は毎分実行できますか?
できません。ドキュメント上の最短は 5 分ごとです。もっと短くしたい場合は workflow_dispatch や repository_dispatch で外部から起動します。
GitHub Actions は @hourly や @daily に対応していますか?
対応していません。@yearly、@monthly、@weekly、@daily、@hourly、@reboot は使えないので、5 つのフィールドで書きます。