GitHub Actions部署流程
我们来逐步解读你提供的 GitHub Actions 自动部署 Hexo 博客的完整脚本,帮助你理解每一步在干什么、为什么需要它:
🧾 YAML 脚本结构快速回顾
1 | name: Deploy Hexo to GitHub Pages |
✅ 含义:
name
: 工作流的名称,显示在 GitHub Actions 页中。on.push.branches
: 表示当你向master
分支推送代码时,会自动触发这个部署工作流。
1 | jobs: |
✅ 含义:
- 定义了一个名为
build
的任务(job) runs-on: ubuntu-latest
表示 GitHub 提供的云服务器上使用最新的 Ubuntu 系统执行任务
🚀 核心步骤一览
1️⃣ 获取仓库代码
1 | - name: Checkout repository |
✅ 使用官方的 checkout
Action 把当前仓库的源码拉下来。
2️⃣ 设置 Node.js 环境
1 | - name: Setup Node.js |
✅ 安装指定版本的 Node.js 环境,因为 Hexo 是基于 Node.js 的静态站点生成器。
3️⃣ 安装依赖
1 | - name: Install Dependencies |
✅ 安装你 package.json
中定义的所有 Hexo 插件、主题依赖(比如主题支持的 hexo-renderer-*
、hexo-generator-*
等)。
4️⃣ 安装部署插件和 Hexo CLI
1 | - name: Install Hexo Git Deployer |
✅ hexo-deployer-git
: 用于将生成的静态文件部署到 GitHub Pages
✅ hexo-cli -g
: 全局安装 Hexo 命令行工具,后面需要执行 hexo generate
命令
5️⃣ 生成静态页面
1 | - name: Clean and Generate Static Files |
✅ hexo clean
: 清理之前生成的 public/
✅ hexo generate
: 将 Markdown 和配置转化为静态网站内容,放入 public/
文件夹
6️⃣ 配置 Git 信息(用于提交)
1 | - name: Configure Git |
✅ 配置 Git 用户信息,避免提交时报错。
7️⃣ 推送到 GitHub Pages
1 | - name: Deploy to GitHub Pages |
✅ 这段代码作用:
- 进入 Hexo 生成的
public/
静态目录 - 初始化 Git 仓库
- 用你设置的
GH_TOKEN
(GitHub Token)认证身份 - 将
public/
目录的内容强制推送到部署仓库(gh-pages
分支)
这样 GitHub Pages 就可以用 gh-pages
分支中的内容部署网页。
🔒 GH_TOKEN
是干什么用的?
这是一个 私密令牌(Personal Access Token),用于允许 GitHub Actions 自动推送内容到仓库。
你需要在源仓库的 Settings > Secrets 中添加:
- 名称:
GH_TOKEN
- 内容:GitHub PAT,要求权限包含:
repo
(公开仓库也可不选)
✅ 总结:这个 Actions 脚本做了什么?
简要流程如下:
1 | 你 git push 文章 --> GitHub 触发 Action --> 自动安装依赖并构建静态网站 --> 自动部署 public/ 到 gh-pages |
📌 结果:你写完文章推送后,网页几秒后自动更新,不再需要本地执行 hexo deploy
命令。
是否需要我帮你生成一个带图标徽章的 README 标明“本项目使用 GitHub Actions 自动部署”?
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LiuCheng's Blog!
评论