Schedule your Netlify build with GitHub Actions
If you host a site on Netlify, you may know about Build Hooks. By creating a build hook and sending a POST
request to it, you trigger a new build & deploy for your site. If your build process is pulling in content from third-party services (e.g. Instagram, Youtube), scheduling a daily build & deploy can be an easy way to keep this content fresh.
The easiest way to setup a scheduled build hook trigger that I have come across is to use GitHub Actions. Setting this up is completely free if your repository if public. If your repository if private, you will most likely remain in their free tier, see pricing here.
Creating a scheduled Netlify build trigger GitHub Action
-
Add a Build hook to your site using the Netlify Dashboard
(Settings > Build & Deploy > Continuous Deployment > Build hooks)
-
In your GitHub repo, create a
main.yml
file in a.github/workflows
directory:# .github/workflows/main.yml name: Trigger Netlify Build on: schedule: # Run at 0815 daily - cron: '15 8 * * *' jobs: build: name: Request Netlify Webhook runs-on: ubuntu-latest steps: - name: Curl request run: curl -X POST -d {} YOUR_BUILD_HOOK
Replace YOUR_BUILD_HOOK with the build hook url you just created. You can use crontab.guru to easily generate your cron schedule.
-
Open the Actions tab in you GitHub repo to watch the workflow trigger as per your cron schedule. 🎉
I hope this is useful to you! If you have any questions, I’ve created an example repository that uses GitHub Actions to build every 15mins: github.com/Jinksi/netlify-build-github-actions. Feel free to open an issue there or send me a message on twitter.