1. SIS Lab
  2. >
  3. Blog
  4. >
  5. GitHub Actionsのスケジューラ実行を利用して定期的にビルドする

GitHub Actionsのスケジューラ実行を利用して定期的にビルドする

更新日:2021.01.09 作成日:2021.01.09

GitHub Actionsのスケジューラ実行で、Hugoなどのサイトを定期ビルドし、データを最新化する方法を調べたときのメモです。

GitHub Actionsでスケジューラ実行

onにはGitHub Actionのトリガーを記載します。 通常はgit pushしたときにGitHub Actionが実行されるようにpushのみを指定していますが、スケジューラ実行する際は、scheduleを追加します。

実行タイミングはcronで指定します。

私は、crontabの書式をいつも忘れるのですが、以下のサイトを利用するとグラフィカルに表示されわかりやすいです。

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

参考

B! Pocket
スポンサーリンク

Related contents

TECH

2020.12.26

Hugoでブログ記事一覧ページ(ブログアーカイブページ)を作成する

TECH

2020.11.01

HugoでTailwindCSSを利用しAMP Validなページを生成する

TECH

2020.03.13

npm-run-allでローカルAPI serverとHugo serverを同時に実行する

TECH

2020.02.02

HugoでAMP対応のブログカードを作る

TECH

2019.12.03

Homebrewで過去バージョンのパッケージをインストールする方法

TECH

2019.10.11

AMPページの最適化〜ぼくのAMPサイトがこんなに遅い訳がない〜

TECH

2019.10.06

AMP向けのミニマルCSSフレームワーク「1BX」をHugoに導入した

TECH

2018.12.13

GitHub Pagesで複数の独自ドメインサイトを運用する