使用 Github Action自动执行 Netlify 部署

date
Mar 8, 2025
AI 摘要
使用 GitHub Actions 定时触发 Netlify 部署,创建 Build Hooks 和设置 GitHub Actions 变量,以实现每天自动构建和部署网站,优化 SEO 和速度。
slug
automating-netlify-deployment-every-24-hours-with-github-actions
status
Published
tags
blog
github
summary
使用 GitHub Actions 定时触发 Netlify 部署,创建 Build Hooks 和设置 GitHub Actions 变量,以实现每天自动构建和部署网站,优化 SEO 和速度。
type
Post
GitHub Actions 在众多使用场景中都非常实用,例如在特定操作(如推送到某个分支)时触发 CI/CD 构建。还可以扩展为在特定时间运行定时任务(cron job)。
在本文中,我们将探讨如何利用 GitHub Actions 在指定时间触发 Netlify 的构建任务。
notion image
本博客是部署在 Netlify 上,技术栈是Nextjs + Notion,虽然可以做到在 Notion 发布内容之后实时更新,但是为了优化 SEO 和网站速度,内容更新之后最好还是重新 build 部署。
然后就有了这样的一个需求,需要定时触发 Netlify 部署本博客站点,时间可以根据自己内容的更新频率和实际需要来定,本文以每天 0 点触发 Netlify 的编译部署为例。
要实现这种方法,你需要拥有一个 GitHub 账户,并且网站已托管在 Netlify 上,同时启用了持续部署功能。

1、什么是 Netlify Build Hooks?

在 Netlify 中,Build Hooks 是一种 Webhook URL,可以用来触发新的构建和部署。你可以点击这里了解更多详情。
你可以在 Netlify 的项目“设置 > 构建与部署 > 持续部署 > Build Hooks”中找到 Build Hooks。
notion image

2、配置创建 Netlify Build Hooks

从上一步中找到添加 Build Hook 的设置,点击“添加 Build Hook”按钮,填写名称并选择对应的 GitHub 分支。
notion image
注意这种方法要求你的 GitHub 仓库已连接到 Netlify,并且启用了持续部署功能。
创建完成后,复制提供的 URL,在后续设置中会用到。
notion image

3、创建 GitHub Actions secrets and variables

在Github 的项目Setting下设置 github actions 所需要的变量。
例如,创建NETLIFY_BUILD_HOOK变量,value 为上一步获得的 Netlify build hook 地址。
notion image

4、实现 GitHub Actions

最后创建 Github Actions 相关代码。
在你的Github项目根目录下创建一个名为 .github 的文件夹,在其中再创建一个名为 workflows 的子文件夹,然后在 workflows 文件夹中创建一个 main.yml 文件,并粘贴以下代码。
最终的文件路径应为:.github/workflows/main.yml
完成上述操作后,将代码推送到仓库。
最终,Workflow 将在指定时间自动执行。上面示例代码中设置的为 UTC 时间每天的 0 点。
如果需要设置 cron 时间,可以参考 https://crontab.guru/ 获取帮助。

参考资料


© CodeXun 2025