09月25, 2022

github通过github-action同步到gitee

YongHu の 博客项目之前一直gitee托管,因为我添加了自动部署的脚本,会自动拉取gitee项目代码。由于github经常会被墙掉,所以没有部署在github上面。最近想把gitee项目都迁移到github,但是又想在gitee实时同步,便于部署,于是玩了一下github-action。

github-action

github action是github推出的自动化CI/CD的功能,随着2019年11月后github对该功能的全面开放,现在所有的github用户可以直接使用该功能。

步骤

  1. 生成一对密钥,公钥放在gitee,私钥放在github。用于github访问gitee。

  2. gitee生成token,存放在github仓库。用于调用gitee api。

  3. 编写github-action脚本。

name: Sync Github Repos To Gitee

on:
    push:
        branches:
            - master

jobs:
    build:
        runs-on: ubuntu-20.04
        steps:
            - name: Sync Github Repos To Gitee # 名字随便起
              uses: Yikun/hub-mirror-action@v1.1 # 使用Yikun/hub-mirror-action
              with:
                  src: github/huyonger # 源端账户名(github)
                  dst: gitee/huyonger # 目的端账户名(gitee)
                  dst_key: ${{ secrets.GITEE_PRIVATE_KEY }} # SSH密钥对中的私钥
                  dst_token: ${{ secrets.GITEE_TOKEN }} # Gitee账户的私人令牌
                  account_type: user # 账户类型
                  clone_style: "https" # 使用https方式进行clone,也可以使用ssh
                  debug: true # 启用后会显示所有执行命令
                  force_update: true # 启用后,强制同步,即强制覆盖目的端仓库
                  static_list: "blog" # 静态同步列表,在此填写需要同步的仓库名称,可填写多个
                  timeout: "600s" # git超时设置,超时后会自动重试git操作

这篇文章写的非常详细,还有很多github-action其他玩法。https://www.cnblogs.com/ssgeek/p/15009012.html

本文链接:https://imyoyo.xyz/post/github-is-synced-to-gitee-via-github-action.html

-- EOF --

Comments