377 字
2 分钟
自动部署
2025-07-15
无标签

自动部署github blog#

# 工作流名称
name: Deploy Hexo to GitHub Pages
# 触发器:在 push 到 main 分支时触发
# workflow_dispatch 允许你从 Actions 页面手动触发此工作流
on:
push:
branches:
- main # 你的 Hexo 源文件所在的分支
workflow_dispatch:
# Job 配置
jobs:
build-and-deploy:
# 运行环境
runs-on: ubuntu-latest
# 步骤
steps:
# 步骤一:检出你的源文件仓库代码
- name: Checkout 🛎️
uses: actions/checkout@v4
with:
# “submodules: 'recursive'” 解决了 Hexo 主题通常作为子模块的问题
submodules: 'recursive'
# 步骤二:设置 Node.js 环境
- name: Set up Node.js 🟩
uses: actions/setup-node@v4
with:
node-version: '24' # 你可以指定你的项目所需的 Node.js 版本
cache: 'npm' # 缓存 npm 依赖,加快后续构建速度
# 步骤三:安装依赖项
- name: Install Dependencies 📦
run: npm install
# 步骤四:生成静态文件
- name: Generate Static Files ⚙️
run: npx hexo generate # 使用 npx 执行本地安装的 hexo-cli
# 步骤五:部署到 GitHub Pages
- name: Deploy to GitHub Pages 🚀
uses: peaceiris/actions-gh-pages@v4
with:
# 刚刚在仓库 Secrets 中创建的 Personal Access Token
personal_token: ${{ secrets.HEXO_DEPLOY_TOKEN }}
# 要部署到的目标仓库,格式为 <用户名>/<仓库名>
# 例如: 'your-username/your-username.github.io'
external_repository: springkill/springkill.github.io
# Hexo 生成的静态文件默认在 public 目录
publish_dir: ./public
# 要推送到的目标分支
publish_branch: master # 对于用户/组织页面,通常是 main 或 master
# 部署提交的作者信息
user_name: 'springkill'
user_email: 'zzz.love.study@gmail.com'
# 部署提交的消息
commit_message: "🚀 Deploy from Hexo source repo @ ${{ github.sha }}"
# 清理目标分支,只保留本次部署的文件
keep_files: false
自动部署
https://springkill.github.io/posts/自动部署/
作者
SpringKill
发布于
2025-07-15
许可协议
CC BY-NC-SA 4.0