本文最后更新于 2025年4月9日 晚上
参考了这篇和这篇文章并自己改良了一下。
1. 创建自己的GitHub Token实现免认证登录
在GitHub中打开tokens创建页,创建新的token,勾选repo权限,然后复制生成的token。
2. 修改自己hexo项目的部署方式
在本地hexo项目的根目录下找到_config.yml文件,修改deploy部分的内容如下:
1 2 3 4
| deploy: type: git repo: https://{token}@github.com/{username}/{username}.github.io.git branch: master
|
其中,{token}是第一步中生成的token,{username}是你的GitHub用户名。
3. 创建GitHub Action
在hexo项目的根目录下创建.github/workflows目录,然后在workflows目录下创建一个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
| name: Blog CI/CD
on: push: branches: [main, master] paths: - '*.json' - '**.yml' - '**/source/**' - '**/scaffolds/**' - '**/themes/**'
jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Use Node.js 18 uses: actions/setup-node@v4 with: node-version: "18" - name: Cache node_modules uses: actions/cache@v4 env: cache-name: cache-node-modules with: path: ~/.npm 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: Install Dependencies run: npm install - name: Install Hexo-cli run: npm install -g hexo-cli --save - name: Build Blog run: | hexo clean hexo g - name: Deploy Blog run: | git config --global user.name "ZXF1001" git config --global user.email "1809996465@qq.com" hexo deploy
- run: echo "Deploy Finished!"
|
4. 提交代码
将修改后的hexo项目推送到GitHub,然后在GitHub中打开Actions页面,可以看到自动部署的过程。以后每次把更新提交到GitHub,GitHub Action都会自动部署hexo站点。可以从仓库的Action页面中看到部署的过程。