建立仓库
在GitHub
上建立一个私有仓库,并把Hexo
源代码上传到仓库,点击Actions
,然后点击Set up a workflow yourself
。
粘贴下列代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| name: 自动部署 Hexo
on: push: branches: - main
jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [22.x]
steps: - name: 开始运行 uses: actions/checkout@v1
- name: 设置 Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }}
- name: 配置 Git 环境 env: ACTION_DEPLOY_KEY: ${{ secrets.ACTION_DEPLOY_KEY }} run: | mkdir -p ~/.ssh/ echo "$ACTION_DEPLOY_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan github.com >> ~/.ssh/known_hosts git config --global user.name "GitHub用户名" git config --global user.email "GitHub邮箱"
- name: 安装 Hexo CI run: | export TZ='Asia/Shanghai' npm install hexo-cli -g
- name: 安装插件 run: | npm install hexo-renderer-stylus --save npm install hexo-renderer-pug --save npm install hexo-deployer-git --save npm install hexo-generator-search --save npm install hexo-generator-archive --save npm install hexo-generator-category --save npm install hexo-abbrlink --save npm install hexo-wordcount --save npm install hexo-generator-index --save npm install hexo-generator-tag --save npm install hexo-renderer-ejs --save npm install hexo-renderer-marked --save npm install hexo-renderer-stylus --save npm install hexo-theme-landscape --save - name: 部署博客 run: | rm -rf .deploy_git hexo g -d rm ~/.ssh/id_rsa
|
然后点击Start commit
注意下面三段信息要更换成自己的
1 2 3 4
| git config --global user.name "GitHub用户名" git config --global user.email "GitHub邮箱" repository: git@github.com:Yunmengxian/cron.pub
|
其中repository: git@github.com:Yunmengxian/cron.pub
在hexo根目录_config.yml
配置文件中。
配置git
生成密钥对
可以用代码生成,也可以找在线生成。密钥长度位数4096
格式 openssh
。
1
| ssh-keygen -t rsa -b 4096 -f ~/.ssh/GitHub-actions-deploy
|
在 GitHub Pages 所在的仓库中添加 “公钥”
找到仓库的Settings
- Deploye keys
- Add deploy key
。
Title
填入:ACTION_DEPLOY_KEY
Key
填入:# 步骤 1 生成的密钥对中的公钥
勾上Allow write access
在存放 Hexo 源文件的仓库中添加 “私钥”
PS: 跟上一步骤 2 中的仓库可以是同一个,也可能不是同一个。根据自己的选型设置。
找到仓库的Settings
- Secrets
- Add a new secret
Name
填入:ACTION_DEPLOY_KEY
Value
填入:# 步骤 1 生成的密钥对中的私钥
运行
随便修改一个东西,比如提交一篇文章,就可以看到变化了
参考资料
Hexo 自动部署 - 啊不都 (oplog.cn)
GitHub Actions 自动部署 Hexo 脚本 · 大大的小蜗牛 (eallion.com)