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

概述

在上一篇博客搭建中,我使用了GitHub Actions实现了将博客自动部署发布至GitHub上,但是在使用过一段时间后,发现GitHub访问速度缓慢,特别是最近,如果不适用vpn的话可能访问不了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: git@github.com:hahaxiaowai/hahaxiaowai.github.io.git
          # 注意替换为你的 Gitee 目标仓库地址
          destination-repo: git@gitee.com:hahaxiaowai/hahaxiaowai.git
      - name: deploy2 #部署到gitee
        uses: yanglbme/gitee-pages-action@v1.3.2
        with:
          deploy_key: ${{ secrets.BLOG }} # key
          gitee-username: hahaxiaowai
          gitee-password: ${{ secrets.GITEE }} 
          gitee-repo: hahaxiaowai/hahaxiaowai #推送到该仓库中,地址格式为gitee名称/仓库名
          branch: master #分支名
       

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

注意事项

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

欢迎来到我的个人博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitHub Actions是一项强大的自动化工作流工具,可以与各种云平台集成,包括阿里云。通过GitHub Actions,我们可以在代码提交或其他事件触发时,自动部署我们的应用程序到阿里云。 首先,我们需要在GitHub仓库中创建一个新的工作流文件(workflow file)。这个文件定义了部署到阿里云的步骤和操作。我们可以使用YAML格式编写这个文件,并将其放置在仓库的.github/workflows目录下。 在工作流文件中,我们可以定义多个job(作业),每个job执行一个或多个步骤。我们可以指定触发条件,例如当代码推送到特定分支时触发部署。 为了部署到阿里云,我们需要提供阿里云的访问凭据和其他必要的配置信息。我们可以使用GitHub仓库的Secrets功能来安全地存储这些凭据。在工作流文件中,我们可以通过workflow的env属性获取这些凭据,并将其传递给部署步骤。 在部署步骤中,我们可以使用阿里云提供的CLI命令或API来执行具体的部署操作。例如,我们可以通过CLI命令将我们的应用程序打包并上传到阿里云的存储服务,然后通过API请求将应用程序部署到阿里云的云服务器。 完成工作流的编写和配置后,我们可以将其保存并提交到GitHub仓库。在每次满足触发条件的事件发生时,GitHub Actions将自动运行我们的工作流,并执行部署到阿里云的步骤。 通过GitHub Actions部署到阿里云,我们可以实现自动化的持续集成和部署,大大简化了我们的工作流程,提高了开发和部署的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值