使用 Github Action 将 github 仓库同步到 gitee

背景

最近将 CI/CD 流程改造了一波,使用 ArgoCD 做 gitops,这样所有的集群 Yaml 文件就都存放在了 github 上的一次仓库里。
但是小服务器放在家里,从 github 上拉代码时总是时不时有网络问题,导致集群资源无法及时更新。

Gitee 提供了一个仓库镜像的功能,所以我目前采用的方式就是:

CI 构建镜像 -> 推送最新配置代码到 Github 仓库 -> Gitee 仓库同步 Github 仓库 -> 集群 ArgoCD 拉取 Gitee 仓库配置。

但是到 3 月底这个功能就要关闭了,得寻找个替代方案了。

要么就是在 CI 过程中,既推送到 Github 仓库,又推送到 Gitee 仓库,但是这样感觉好麻烦,在搜索的过程中,看到了一个 Github Action:sync-gitee-mirror,专门用来将 Github 的仓库,推送到 Gitee 中。

这样就可以在 Github 的配置仓库中,增加一个 workflow,每当配置文件更新时,就触发此 action,主动将代码同步到 Gitee 仓库中。

使用

以我的集群配置仓库 gitops-configs 为例,在此仓库根目录下新建文件 .github/workflows/micrror-to-gitee.yaml,并填入如下内容:

name: 镜像仓库到 Gitee
on:
  push:
    branches:
      - main
env:
  # 仓库名称
  REPO_NAME: ${{ github.event.repository.name }}

jobs:
  mirror-to-gitee:
    name: 同步到 Gitee
    runs-on: ubuntu-latest

    steps:
      - name: Mirror repo to Gitee.
        uses: abersheeran/sync-gitee-mirror@v1-beta
        with:
          repository: xuxusheng/${{ env.REPO_NAME }}
          username: xuxusheng
          password: ${{ secrets.GITEE_PASSWORD }}

你可能感兴趣的:(github,gitee,git)