前言
手动写文章、本地编译、再上传服务器,这套流程跑多了确实容易腻。今天咱们聊聊怎么把个人 Hugo 博客的发布过程彻底自动化,只要代码提交到仓库,页面就自动更新。
准备工作
1. 搭建仓库结构
你需要两个仓库:
- GitHub Pages 仓库:命名为
用户名.github.io,用于托管最终生成的静态页面。 - 源码仓库:可以是私有的,存放你的 Hugo 主题和文章内容。
建议将 Pages 仓库设为公开,源码仓库根据需求设置权限。这样既能保护隐私,又能保证访问速度。
2. 生成访问令牌 (Access Token)
为了让工作流有权限推送代码到 Pages 仓库,我们需要一个 Token。
- 进入 GitHub 设置页,找到 Developer settings -> Personal access tokens。
- 创建一个 Classic Token,勾选
repo权限(这是必须的),其他按需选择。 - 复制生成的 Token,后续会用到。
注意:Token 相当于密码,千万别直接写在代码里。建议设置为不过期,并妥善保管。
3. 熟悉 Hugo 基础
Hugo 是基于 Go 语言开发的静态网站生成器,速度快、配置简单。
- 官网文档:https://gohugo.io/
- 本地安装后,运行
hugo server即可预览效果。
核心配置:GitHub Actions
这一步是自动化的关键。我们需要在源码仓库中创建一个工作流文件。
1. 创建目录与文件
在源码仓库根目录下,新建 .github/workflows/ 文件夹,里面放一个 deploy.yml 文件。
2. 编写工作流脚本
这个脚本负责拉取代码、构建站点、然后推送到 Pages 仓库。代码如下:
name: Deploy Hugo Site
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- name:


