blancブログ

Information&Blog

友だち追加

NetlifyのビルドをGitHub Actionsで毎日深夜に自動実行する方法

更新日:

ホームページ運営

ホームページの更新がコンテンツの追加に限らず、定期的なビルドを通じて反映される仕組みが増えています。特に、CMS(Content Management System)や外部APIの内容を定期的に取り込むようなケースでは、ビルドの自動化が大きな役割を果たします。

今回は、「毎日深夜0時にNetlifyでホームページを自動ビルド」する方法を紹介します。GitHub Actionsを使えば、プログラムを変更しなくても、時間トリガーによる再ビルドが簡単に実現できます。

このブログでは以下の内容をステップで解説します。

  • Netlifyで「ビルドフック」を作成
  • GitHub Actionsでスケジュールジョブを設定
  • 実際のコード例と注意点

Netlifyでビルドフックを作成する

Netlifyでは、外部から手動でビルドを開始するための「ビルドフック」という機能があります。このURLにHTTPリクエストを送るだけで、Netlifyが対象のホームページを再ビルドしてくれます。

手順:

  1. Netlifyのダッシュボードにログイン
  2. 対象のサイトを選択
  3. 左メニュー「Site settings」→「Build & deploy」→「Build hooks」を選択
  4. 「Add build hook」ボタンをクリック
    • 名前は任意(例:daily-build
    • ブランチは普段使っているビルド用ブランチ(例:main
  5. 作成後に表示されるURL(例:https://api.netlify.com/build_hooks/xxxxxxxx)をコピー

このURLが、GitHub Actionsから毎日叩くエンドポイントになります。

GitHub Actionsの設定

GitHub Actionsでは、scheduleという設定を使って「毎日決まった時間」に処理を実行することができます。

フォルダ構成:

.github/
└── workflows/
    └── netlify-daily-build.yml

ファイルの中身(例):

name: Daily Netlify Build

on:
  schedule:
    - cron: '0 0 * * *'  # 毎日0:00 (UTC) に実行
  workflow_dispatch:     # 手動実行も可能にする

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Trigger Netlify Build Hook
        run: curl -X POST https://api.netlify.com/build_hooks/あなたのフックURL

cronの時刻に関する注意

GitHub ActionsのcronはUTC(協定世界時)で指定されます。日本時間(JST)で深夜0時にビルドしたい場合は、UTCの15時(前日15:00)を指定します。

    - cron: '0 15 * * *'  # JSTの0:00に相当

コードの解説と補足

  • curl -X POST は、NetlifyのビルドフックにHTTPリクエストを送信しています。
  • workflow_dispatch を入れると、GitHubの画面から「手動で実行」もできるようになります。テスト時に便利です。

一般的な注意点とよくあるミス

1. フックURLをGitHubにそのまま書くのは危険?

基本的にNetlifyのビルドフックはセキュリティが高い情報ではありませんが、念のためGitHub Secretsなどに保存しておくのが望ましいです。

        run: curl -X POST ${{ secrets.NETLIFY_BUILD_HOOK_URL }}

GitHubのリポジトリ設定で NETLIFY_BUILD_HOOK_URL を登録しておきましょう。

2. リポジトリがPrivateだとNetlifyのビルドは失敗する?

これはNetlifyのデプロイ設定次第です。リポジトリがPrivateでも、NetlifyにデプロイキーやGitHubとの連携が正しく設定されていれば問題ありません。

3. 時間になっても実行されない

cronの指定がUTCであることを忘れがちです。また、GitHub Actionsのスケジュールは最小でも1時間単位なので、分単位の細かい時間指定はできません。

実行結果の確認

  • GitHubの「Actions」タブを開くと、スケジュールジョブの実行状況が確認できます。
  • 成功/失敗のログをチェックすることで、ビルドエラーの原因も把握できます。

まとめ

本記事では、GitHub Actionsを使って毎日Netlifyのビルドを自動実行する方法を紹介しました。以下のような場合に特に有効です。

  • コンテンツが外部ソース(APIなど)と連動している
  • 定期的なバッチ処理やリセットをしたい
  • 毎日更新されるデータを扱っている(ブログやニュースサイトなど)

検索ボックスへキーワードを入力してください

ホームページ制作、更新、SEOに関する
お問い合わせ・お見積もり依頼は、
電話もしくはフォームでも受け付けております。

フリーダイヤル0120-781-437

受付時間 平日 9:00~18:00

まずは無料相談する