Hexo博客技巧部署使用GitHub Action自动部署Hexo博客
Aciano
本教程参照安知鱼和Akilar的文章,稍作改动完成。
获取 Token
打开New personal access token,创建一个Token。
创建的 Token 名称随意,但必须勾选repo
项 和workflows
项,同时Expiration选择no expiration
创建完成后会显示Token,只会显示一次,请务必复制保存记录。否则遗忘则只能重新生成重新配置了。
新建私有仓库
打开Create a new repository,创建一个名为Hexo-Source-Repo
的仓库并设置为私有仓库
。
创建成功后复制仓库的ssh地址下面会用到。
配置 Github Action
在[Blogroot]下新建.github
文件夹。然后在里面新建workflows
文件夹,再在workflows
文件夹内新建 autodeploy.yml,内容如下:
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 62
| name: 自动部署
on: push: branches: - main release: types: - published
jobs: deploy: runs-on: ubuntu-latest steps: - name: 检查分支 uses: actions/checkout@v2 with: ref: main
- name: 安装 Node uses: actions/setup-node@v1 with: node-version: "16.x"
- name: 安装 Hexo run: | export TZ='Asia/Shanghai' npm install hexo-cli -g
- name: 缓存 Hexo id: cache-npm uses: actions/cache@v3 env: cache-name: cache-node-modules with: path: node_modules key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build- ${{ runner.os }}-
- name: 安装依赖 if: ${{ steps.cache-npm.outputs.cache-hit != 'true' }} run: | npm install --save
- name: 生成静态文件 run: | hexo clean hexo generate
- name: 部署到Github uses: JamesIves/github-pages-deploy-action@v4 with: token: ghp_**************** repository-name: Amnesia-f/amnesia-f.github.io branch: main folder: public commit-message: "${{ github.event.head_commit.message }} Updated By Github Actions"
|
其中token字段请替换为上面创建的,repository-name字段请替换为自己的原.io结尾的仓库名称
重新设置远程仓库和分支
添加屏蔽项
打开[Blogroot]/.gitignore
,替换为以下内容:
1 2 3 4 5 6 7 8 9 10 11 12
| .DS_Store Thumbs.db db.json *.log node_modules/ public/ .deploy*/ .deploy_git*/ .idea themes/anzhiyu/.git
|
记得将最后一行的`anzhiyu`更换为自己使用的主题名称
删除.git文件夹
删除 [Blogroot]/themes/anzhiyu/
下的 .git
文件夹,原因是主题文件夹下的.git文件夹的存在会导致其被识别成子项目,从而无法被上传到源码仓库。
运行指令
在博客根目录下运行如下指令:
1 2 3
| git init git remote add [此处替换为上文复制的ssh地址] git checkout -b main
|
提交源码
1 2 3 4 5
| git add . git commit -m "github action update" git push origin main
|
检查部署
打开新建的Hexo-Source-Repo
仓库界面,点击上方菜单栏中的Action
,点击Deploy
,等待部署完成后若如下图所示所有项目都打钩即为部署成功!
享受自动部署
打开你的vscode,每次对博客进行改动后,按下 Ctrl + SHift + G 即可打开源代码管理界面,
在Hexo一栏填入此次改动的关键信息后点击提交
,再点击同步更改
即可!
参考文章