关于github:使用Github-Actions实现代码推送Github自动同步到Gitee镜像仓库

批改: 文章批改于2021/3/1日,昨晚中午写完的第一套计划白天测试的时候不能实现主动Gitee Pages,所以紧急进行了批改,并对整个流程的细节进行了更具体的形容,置信跟着走下来,大家都能够打造出本人超好用的动态博客写作、部署脚本,从此真正将更多的精力投入的写作中!!!

我的集体博客是通过Github的Pages技术搭建的动态博客,应用 vuepress 驱动。因为Github在国内环境拜访速度慢,并且不够稳固,所以通常对外介绍应用Gitee的镜像博客仓库,然而每次都须要在推送Github之后去Gitee上对应的仓库进行手动同步,就无端减少了很多反复的工作量,通过多方搜寻和实际,最终选定了Github一个比拟新的技术 — Github Actions 实现代码主动Build,同步到Gitee,主动在Gitee实现Pages性能

上面来看一下如何操作吧:

1.Github和Gitee增加公钥

Window下通过git bash生成公钥

输出 ssh-keygen ,而后连按三下回车

Gitee 和 Github 增加公钥

检测公钥是否胜利增加

ssh -T git@github.com
ssh -T git@gitee.com
#返回如下图所示后果,则胜利增加公钥!

2.Github仓库增加Token

  1. 生成账号Token

  1. 在Secret中增加Token

3.Github仓库增加私钥

  1. 进入Github想要同步的仓库-抉择Settings进行设置-抉择Secret进行设置

  1. 创立新的仓库Secret GITEE_RSA_PRIVATE_KEY

  1. 增加 GITEE_PASSWORD

同之前一样,在仓库里增加名为 GITEE_PASSWORD 的Secret,内容是你的Gitee账号密码。

最初检查一下是否在 Github 中增加了 ACCESS_TOKENGITEE_PASSWORDGITEE_RSA_PRIVATE_KEY 三个密钥。如下图:

???? 重头戏来了!!!

在GitHub仓库里增加 Actions 脚本文件!!

  • 工作流脚本名字能够自定义,随便起!!
  • 复制上面的主动打包及同步脚本
  • 在之后每次有 Push 申请的时候,该脚本就会主动执行,实现云端Build动态文件部署到 gh_pages 分支,而后将代码同步到 Gitee 的镜像仓库,并且主动执行 Pages 的 Update 操作!!!

主动打包及主动同步脚本

name: A TO A:GH_PAGES
on: [push]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@master

    - name: Build and Deploy
      uses: jenkey2011/vuepress-deploy@master
      env:
        ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
        # 你要操作的指标仓库
        TARGET_REPO: china-fanxin/vuepress-blog
        # 构建后果存储的分支
        TARGET_BRANCH: gh_pages
        # 要应用的构建命令
        BUILD_SCRIPT: yarn && yarn build
        # 构建后果存储目录
        BUILD_DIR: docs/.vuepress/dist/
  sync:
    needs: build-and-deploy
    runs-on: ubuntu-latest
    steps:
    - name: Sync to Gitee
      uses: wearerequired/git-mirror-action@master
      env:
        SSH_PRIVATE_KEY: ${{ secrets.GITEE_RSA_PRIVATE_KEY }}
      with:
        # 起源仓库
        source-repo: "git@github.com:china-fanxin/vuepress-blog.git"
        # 指标仓库
        destination-repo: "git@gitee.com:china-fanxin/vuepress-blog.git"
  reload-pages:
    needs: sync
    runs-on: ubuntu-latest
    steps:
      - name: Build Gitee Pages
        uses: yanglbme/gitee-pages-action@main
        with:
          # 留神替换为你的 Gitee 用户名
          gitee-username: china-fanxin
          # 留神在 Settings->Secrets 配置 GITEE_PASSWORD
          gitee-password: ${{ secrets.GITEE_PASSWORD }}
          # 留神替换为你的 Gitee 仓库,仓库名严格辨别大小写,请精确填写,否则会出错
          gitee-repo: china-fanxin/vuepress-blog
          # 要部署的分支,默认是 master,若是其余分支,则须要指定(指定的分支必须存在)
          branch: gh_pages

???? 性能实现成果

实现了上述配置后,就曾经能够实现当有代码 Push 到 Github 后,主动将代码 Build 生成动态文件 Pages ,并且将代码同步到Gitee 上,并主动 Pages !!
如下的 Actions 执行的后果图!!

文档信息
版权申明:自在转载-非商用-非衍生-放弃署名(创意共享3.0许可证)
发表日期:2021-03-01 20:42:19 星期一

更多精彩内容查看我的技术博客

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理