Hexo博客部署指南(六)—— GitHub Pages自动化部署

参考文章:

GitHub 仓库配置

  1. 创建GitHub仓库:

    • 访问 GitHub 创建新仓库
    • 仓库名称必须为 <username>.github.io (替换为你的GitHub用户名,我这里已经创建了,无法在新建,用my_blog代替)
    • GitHub仓库创建
    • 选择public可见性
    • 勾选”Initialize this repository with a README”
  2. 本地仓库初始化:

terminal
git init
git remote add origin https://github.com/<your-username>/<your-repo>.git
  1. 推送Hexo源码:
terminal
git add .
git commit -m "初始化Hexo项目"
git push -u origin master

部署准备

  1. 安装部署插件:
package.json
npm install hexo-deployer-git --save
  1. 配置站点文件:
_config.yml
deploy:
type: git
repo: https://github.com/<your-username>/<your-repo>.git
branch: gh-pages # 静态文件分支
message: "站点更新: {{ now('YYYY-MM-DD HH:mm:ss') }}"

自动化部署流程

  1. 生成并部署静态文件:
terminal
hexo clean && hexo generate --deploy
  1. 验证部署结果:
terminal
git checkout gh-pages  # 切换到静态文件分支
ls # 应看到生成的public目录内容

访问验证

部署完成后访问(首次生效约需5分钟):
https://<username>.github.io

再次部署后访问:如果内容不更新,可能是github pages没有更新,
检查步骤:

  1. 访问GitHub仓库,查看分支列表,确认gh-pages分支存在且为最新。
  2. 查看settings,确认GitHub Pages的分支为gh-pages。并且检查更新时间时候是否最新。
    GitHub Pages设置
  3. 如果未跟新,手动更新。步骤:github仓库-> acotins —> run workflow
    workflow]

GitHub Actions 配置(可选)

创建持续集成工作流:

.github/workflows/deploy.yml
name: Hexo Deploy

on:
push:
branches:
- master

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x

- name: Install Dependencies
run: |
npm install hexo-cli -g
npm install

分支策略建议

分支类型 内容说明 保护规则
master Hexo源码(Markdown等) 需要PR合并
gh-pages 生成的静态文件 仅允许CI自动更新