Githubアクション、cron、およびwebhooksでNetLifyビルドをスケジュールします


指示


あなたのレポにこのGithubアクションを加えてください.github/workflows/schedule-netlify-build.yml
# .github/workflows/schedule-netlify-build.yml

name: Schedule Netlify Build
on:
  schedule:
    # Customize schedule expression at crontab.guru
    # This one runs at 800 UTC daily
    - cron: "0 8 * * *"
jobs:
  build:
    name: Call Netlify build hook
    runs-on: ubuntu-latest
    steps:
      - name: Curl request
        run: curl -X POST -d {} #YOUR_BUILD_HOOK_URL#

あなたのcronスケジュールを調整する


ビルドスケジュールの決定と使用crontab.guru cronスケジュール式として記述する.
-    # This one runs at 800 UTC daily
-   - cron: "0 8 * * *"
+    # This one runs every 6 hours
+   - cron: "* */6 * * *"

netlifyビルドフックを生成する


Netlifyビルドフックは1つの機能を持つウェブフックです:再構築されたときにサイトをビルドします.任意POST netlifyビルドフックへの要求はビルドをトリガーします.
新しいビルドフックをここで生成します.
「サイトの設定」「ビルド&展開」「持続配備」「ビルドフック」.

イメージからNetlify build hooks documentation
フックを命名しなければなりません.名前があなたにユニークで記述的である限り、多くの違いを作りません.

Githubアクションにビルドフックをペーストします


-        run: curl -X POST -d {} #YOUR_BUILD_HOOK_URL#
+        run: curl -X POST -d {} https://api.netlify.com/build_hooks/#GENERATED_BUILD_HOOK_URL

プッシュ!


新しいワークフローをリポジトリにプッシュし、アクションタブを見ます.予定通り、スケジュールされた仕事が見えます.
ここで何を期待するかhttps://github.com/LunchDevCommunity/community-calendar/actions

エクストラクレジット


ファンシーを取得し、誰もあなたのビルドフックをGitHub Action environment variables .

物語


ダイナミックサイト静的ビルド


lunch.dev , 私たちはcalendar of events インEleventy (滑らかな静的サイトジェネレータ).
イベントは、過去と過去のイベントの見出しの日付に基づいて表示されます.ElegeMenが静的サイトを生成するので、その洗剤はビルド時に起こります.
私たちがデータを新鮮にしたいならば、我々は少なくとも1日につき一度サイトを手動で再構築しなければなりません.
NetLifyビルドフックを使用して、我々はスケジュールでそれらのビルドを自動化することができます!
cronジョブを実行するサービスがたくさんあります.Githubアクションベースの解決策について私が好きなのは、すべてがREPOに保たれているということです.ソースを維持することができますし、プロジェクトの残りの部分を文書化!

資源

  • GitHub Workflow: schedule event
  • crontab.guru
  • Netlify build hooks
  • lunch.dev community-calendar GitHub Actions source
  • time.is/UTC
  • Schedule Your Netlify Build with GitHub Actions
  • Schedule Netlify builds with GitHub Actions
  • 私と昼食を見なさい.これが初めてのDevクルー闘争