GitHub Actionsのスケジューラ実行を利用して定期的にビルドする
更新日:2023.05.05
作成日:2021.01.09
GitHub Actions
のスケジューラ実行で、Hugo
などのサイトを定期ビルドし、データを最新化する方法を調べたときのメモです。
GitHub Actionsでスケジューラ実行
on
にはGitHub Actions
のトリガーを記載します。
通常はgit push
したときにAction
が実行されるようにpush
のみを指定しますが、スケジューラ実行する際は、schedule
を追加します。
実行タイミングはcron
で指定します。
私は、crontab
の書式をいつも忘れるのですが、以下のサイトを利用するとグラフィカルに表示されわかりやすいです。
Crontab.guru - The cron schedule expression editor
on:
push:
branches:
- main
schedule:
- cron: '30 10 * * *'
・・・
定期ビルド
2021年1月9日現在、このブログは静的サイトジェネレーターHugo
を利用しています。
GitHub Actions
のScheduler
で、1日1回定期的にサイトをビルドできるようになりました。
gh-pages.yml
name: github pages
on:
push:
branches:
- main
schedule:
- cron: '30 10 * * *'
jobs:
deploy:
runs-on: ubuntu-18.04
steps:
- name: Clone module
uses: actions/checkout@v2
with:
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.77.0'
- name: Build
run: HUGO_ENV="production" NODE_ENV="production" hugo --gc
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
参考
Related contents
TECH
2021.02.11
Git pre-commitフックでFrontmatterの「更新日時」を自動更新する
TECH
2021.01.24
「Hugoで始める静的サイト構築入門 静的サイトジェネレーターで作る自作サイト」を出版しました
TECH
2023.02.03
Hugo v0.109.0でパンくずリストをシンプルに実装する
TECH
2022.10.18
GitHub ActionでRのレポート出力を自動化する
TECH
2022.09.03
【Hugo】Render Hooks for Code Blocksを利用してコードブロックにファイル名を表示する
TECH
2022.08.29
Hugoでブログカードを作成する(resources.GetRemote利用)
TECH
2022.08.14
GitHub PagesからCloudflare Pagesへの移行
TECH
2022.06.29
AMP Service WorkerでPrefetch Linksを実現する