• Github Actions 自动同步到 Gitee


    引言
    • 平时开源代码一般已Github为主,但是会遇到网不好的情况,于是考虑将Github仓库自动同步到Gitee上,作为备份。
    • 考虑不能手动做这个事情,于是想到了Github Actions 自动化同步到Gitee中
    具体方案

    假设Github已经有了仓库,这里以RapidAI/YOLO2COCO仓库为例。
    !!!注意:下图图文并不完全对应,以文字为主

    1. 在Github仓库下开通Actions的功能,点击Actions选项卡→ 点击右下角Create a new workflow,命名为SyncToGitee.yml即可。
      请添加图片描述
    2. 编写workflow的yml代码, 可以复制如下代码到自己yml中,需要更改的地方,在代码中已经标出
      name: SyncToGitee
      on:
        push:
          branches:
            - main
      jobs:
        repo-sync:
          runs-on: ubuntu-latest
          steps:
            - name: Checkout source codes
              uses: actions/checkout@v3
      
            - name: Mirror the Github organization repos to Gitee.
              uses: Yikun/hub-mirror-action@master
              with:
                src: 'github/RapidAI'    						# 这里改为自己github账号名称,如github/xiaoming
                dst: 'gitee/RapidAI'     						# 这里改为gitee上账号名称,如gitee/xiaoming
                dst_key: ${{ secrets.GITEE_PRIVATE_KEY }}  	# 这是生成的私钥,下面第3步会讲
                dst_token:  ${{ secrets.GITEE_TOKEN }}     	# 这是gitee上生成的token,下面会讲
                force_update: true
                static_list: "YOLO2COCO"   					# 同步的仓库名称,这里为YOLO2COCO,意思是会自动同步该仓库到gitee下同名仓库
                debug: true
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
    3. 配置公钥、私钥和Gitee Token
      1. 配置公钥和私钥:公钥是Gitee这里拿着,私钥是Github拿着。因为是Github这里要同步到Gitee.
        • 生成私钥和公钥:ssh-kengen -t ed25529 -C xxxx@xxx.com ,具体可参见:生成/添加SSH公钥
        • 生成完之后,会在指定目录下有两个文件:id_ed25519id_ed25519.public,前者是私钥,后者是公钥。
        • id_ed25519用记事本打开,复制里面内容,粘贴到Github个人仓库下的secret中。步骤:点击仓库首页选项卡setting,会看到如下图,点击新建New repository secret
          在这里插入图片描述
        • 输入Name为GITEE_PRIVATE_KEY, Value为复制的私钥内容
          在这里插入图片描述
      • 打开Gitee个人账号的设置页面 → 点击安全设置下的私人令牌 → 右上角生成新令牌,如下图所示:
        在这里插入图片描述
      • 点击提交之后,会得到类似下图所示的私人令牌,将其复制,并配置到Github的secret界面,类似上一步的私钥那样。
        在这里插入图片描述
      • 最终Github这里配置的Actions secrets如下:
        在这里插入图片描述
      1. 配置Gitee端的公钥:进入Gitee个人账号界面下的SSH公钥界面,类似下图,将上面生成的id_ed25519.public目录用记事本打开,复制里面内容到下图中的公钥框里,标题可根据用途命名。
        在这里插入图片描述
    4. 至此,整个配置就已经完毕。可以将步骤2中的yml文件提交到仓库中,就可以自动触发Actions执行,可以查看是否可以自动同步到Gitee仓库下。
  • 相关阅读:
    实战 - 在Linux上部署各类软件
    C#进阶高级语法之LINQ:深入分析LINQ的查询表达式、延迟执行与PLINQ高级特性
    HTML——css与js案例练习
    MySQL(五) 数据恢复
    七、Feign
    SpringBoot3安全管理
    HTML网页设计【足球科普】学生DW静态网页设计
    Docker镜像详解(手拉手教你上传至阿里云,发布到私有库)
    分享从零开始学习网络设备配置--2.4 利用三层交换机实现部门间网络互访
    全志V3S开发板星光闪烁(linux LED驱动)
  • 原文地址:https://blog.csdn.net/shiwanghualuo/article/details/127937206