GitHub Actionsのワークフローを定期実行する

公開日時

↓の対応を行うとGitHubリポジトリへのpushをトリガーに、Firebase HostingへデプロイするGitHub Actionsを手軽に設定できる。

今回はpushトリガーに加えて、毎日指定時刻にデプロイを行うようにしたかったので schedule トリガーを設定した。

cron式はUTCでの記述になるので↓で設定すると日本時間の9時30分にトリガーされる。

name: Deploy to Firebase Hosting
'on':
  push:
    branches:
      - main
  schedule:
    - cron: '30 0 * * *'
jobs:
  build_and_deploy:
    runs-on: ubuntu-latest
  # ...

ただ、翌日にActionsのログを確認してみると09:46に実行されていた。

ドキュメントを見ると「負荷で遅延することがある」とのこと。

Note: The schedule event can be delayed during periods of high loads of GitHub Actions workflow runs. High load times include the start of every hour. To decrease the chance of delay, schedule your workflow to run at a different time of the hour. Events that trigger workflows - GitHub Docs

今回の場合は遅延が起きても問題にはならないのものだったので、そのままGitHub Actionsで定期実行することにした。

既存のGitHub Actionsに2行コードを追加するだけで定期実行ができるようになるのはとても手軽で良い。

参考


Related #github

GitHubのDark theme

GitHub-flavoured markdown tips

詳細折りたたみをうまく使っていきたい

GitHub CLIを使い始めた

ブラウザからポチポチしなくていいのは楽

GitHub Actionsのワークフローを一時的に無効化する

「...」メニューをクリックして「Disable workflow」を選択

Github Actionsで別のリポジトリをcheckoutする

privateリポジトリの場合はPersonal Access Tokenが必要だった