Trigger deploys on Netlify with submodules
I wanted to rebuild my site on Netlify any time I did a new commit on a Git submodule included in the repo.
Unfortunately Netlify does not do this by default, only the main repository is “watched” for new commits.
So I did this.
I went in the Deploy settings and in “Build hooks” I clicked “Add build hook”.
Saving this gave me a unique URL I could call, something like https://api.netlify.com/build_hooks/UNIQUE_STRING
.
Then I created a GitHub Action in the submodule repository:
name: Trigger redeploy on Netlify
on:
push:
branches: [ "main" ]
jobs:
build:
name: Make POST request
runs-on: ubuntu-latest
steps:
- name: Curl request
shell: bash
env:
UNIQUE_STRING: ${{ secrets.NETLIFY_BUILD_HOOK_UNIQUE_STRING }}
run: curl -X POST -d {} https://api.netlify.com/build_hooks/$UNIQUE_STRING
Add the value of the Netlify UNIQUE_STRING value you to above in NETLIFY_BUILD_HOOK_UNIQUE_STRING
Action secret in your repo Settings -> Secrets -> Actions.
Commit the action and the deploy should already be working:
I wrote 21 books to help you become a better developer:
- HTML Handbook
- Next.js Pages Router Handbook
- Alpine.js Handbook
- HTMX Handbook
- TypeScript Handbook
- React Handbook
- SQL Handbook
- Git Cheat Sheet
- Laravel Handbook
- Express Handbook
- Swift Handbook
- Go Handbook
- PHP Handbook
- Python Handbook
- Linux Commands Handbook
- C Handbook
- JavaScript Handbook
- Svelte Handbook
- CSS Handbook
- Node.js Handbook
- Vue Handbook
Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025