博客搭建 | 二、GitHub Actions部署至Gitee

概述

在上一篇博客搭建中,我使用了GitHub Actions实现了将博客自动部署发布至GitHub上,但是在使用过一段时间后,发现GitHub访问速度缓慢,特别是最近,如果不适用的话可能访问不了GitHub,所以打算在原有的部署方案中,增加部署至Gitee上,这样国内访问速度便有了保证。
如果你没有看过上一篇内容,请点击这里

步骤

基本原理还是使用GitHub Actions,再部署到GitHub后,新增两个step:

  1. 同步代码至gitee
  2. 重新部署pages

第一步我所同步的是编译后的代码,保证仓库代码同步,由于Gitee没有自动更新pages,所以在仓库代码更新后,我们还需要对其进行更新。

初始化Gitee博客仓库

由于我们要将一份代码部署至两个不同网址下,vuepress的基础路径十分重要,路径不对会导致打包后的静态文件路径不对,在GitHub中,我的基础路径是:

// https://hahaxiaowai.github.io/
base: "/",

所以仓库名称非常重要,在Gitee上依然要保证这样的仓库命名规范:

// 在GitHub上仓库命名规范
yourname.github.io
// 在Gitee上仓库命名规范
yourname

创建时,可以顺便把GitHub仓库的代码拉下来,然后选择 服务>Gitee Pages 配置一下博客并启动,这里不详细展开。

增加配置

  1. 在Gitee中,点击右上角头像>设置>SSH公钥,同GitHub上一样,设置一个ssh key,这里推荐使用同一个key(BLOG).
  2. 在Gitee中,点击右上角头像>设置,进行第三方账号绑定,将微信绑定(我也是拒绝的,但是后面会用到,没有办法)。
  3. 在上一篇文章中,我们在源代码 Settings>Secrets 中设置了BlOG变量,这一次我们再增加GITEE变量,变量内容为Gitee的密码,设置好后,我们进入正题,设置Actions.

配置Actions

配置文件将省略上一篇文章的配置内容,只将结构留下


name: Automatic blog update # 该Action的名字

# on:何时触发该事件. 
on:
  ...

# 工作流运行由一个或多个jobs组成,这些job可以按顺序或并行运行
jobs:
  # 此工作流包含一个名为“build-deploy”的job。
  build-deploy:
    ...
    # steps表示将作为job一部分执行的一系列任务
    steps:
      - uses: actions/checkout@master # 切换分支到master
        with:
         fetch-depth: 2 
      - name: Use Node.js 12.x  #使用nodejs 12.x版本
        ...
      - name: install and build
        ...   
      - name: deploy #部署至GitHub
        ...
      - name: Sync to Gitee # 同步到Gitee
        uses: wearerequired/git-mirror-action@d5724af3876c8fdfdb59312c99df0d11b769ca8c
        env:
          # 注意在 Settings->Secrets 配置 GITEE_RSA_PRIVATE_KEY
          SSH_PRIVATE_KEY: ${{ secrets.BLOG }}
        with:
          # 注意替换为你的 GitHub 公开仓库地址
          source-repo: [email protected]:hahaxiaowai/hahaxiaowai.github.io.git
          # 注意替换为你的 Gitee 目标仓库地址
          destination-repo: [email protected]:hahaxiaowai/hahaxiaowai.git
      - name: deploy2 #部署到gitee
        uses: yanglbme/gitee-pages-[email protected]
        with:
          deploy_key: ${{ secrets.BLOG }} # key
          gitee-username: hahaxiaowai
          gitee-password: ${{ secrets.GITEE }} 
          gitee-repo: hahaxiaowai/hahaxiaowai #推送到该仓库中,地址格式为gitee名称/仓库名
          branch: master #分支名
       

如果你想了解更多关于这个插件的信息,请点击这里

注意事项

第一次运行时,大概率是失败的,提示你要验证微信登录,如果你提前绑定了微信,应该是没问题的。

欢迎来到我的个人博客

你可能感兴趣的:(vuepress,Github,github)