乐趣区

关于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 星期一

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

退出移动版