Hugo 自动化部署进阶
目录
在 Homelab 环境下使用 Hugo (0.153.0+) 配合 PaperMod 主题创作时,频繁的 Git 推送和 Cloudflare Pages 堆积如山的部署记录总是让人头疼。本文分享一个实战脚本,让你通过一个 hugo-deploy 命令,完成从代码提交到后台清理的全过程。
1. 核心流程图
本项目实现了从本地源码到云端生产环境的自动化闭环管理:
- 本地端:一键完成
add、commit、push。 - GitHub:作为源码仓库并触发 Cloudflare 的 Webhook。
- Cloudflare:自动拉取并构建部署,同时接收脚本的 API 指令清理冗余历史。
2. 环境要求
- 系统: Debian 13 (理论兼容所有主流 Linux)
- 依赖:
git,curl,jq(执行sudo apt install jq安装) - Hugo 版本: 0.153.0+
- 部署平台: Cloudflare Pages
3. 准备工作:获取 API 密钥
| 密钥名称 | 获取位置 | 建议权限 |
|---|---|---|
| GitHub Token | Settings > Developer settings | Fine-grained: Contents (Read & Write) |
| CF Account ID | Pages 项目控制台 URL 中 | 32 位十六进制字符串 |
| CF API Token | My Profile > API Tokens | 自定义:Cloudflare Pages 编辑 |
注意:创建 Cloudflare Token 时,必须包含 Cloudflare Pages Edit 权限,否则脚本无法执行后续的删除(DELETE)操作。
4. 自动化脚本下载与安装
为了保持系统整洁,我们建议将自动化脚本放置在 /usr/local/bin/ 目录下。
- 下载脚本: 下载并解压 hugo-deploy.zip
|
|
- 移动并重命名:
|
|
-
配置参数: 使用 vi 或 nano 修改脚本内的 GIT_TOKEN、CF_API_TOKEN 等关键个人配置。
-
赋予执行权限:
|
|
5. 安全与生效设置
修正换行符: 如果你在 Windows 下编辑过脚本,请执行以下命令:
|
|
从此,只需输入 hugo-deploy,即可享受极简主义的发布流程!