首页 > 其他分享 >自动同步 github 仓库到 gitee

自动同步 github 仓库到 gitee

时间:2023-08-16 13:11:54浏览次数:38  
标签:同步 私钥 仓库 gitee github action

自动同步 github 仓库到 gitee

先上最终效果

代码仓库: github2gitee

Github Action 同步结果:

为什么要同步到 gitee

将 gitee 仓库作为备份镜像仓库,以防不测

网上的同步方法

大致在网上查找了一通,基本都是使用 github action 做到自动同步,也有一些前人封装好的 action,所以做起来还是相对轻松的,由于不排除有新的更好的轮子出现,所以建议想要用的同学们先去市场上搜一搜,说不定有新惊喜, 进入 action marketplace

但是逐一去尝试,实在是费时费力,所以我还是更愿意看别人做好的分享,发现用 Yikun/hub-mirror-action 这个工具的比较多,也有很多用户分享自己使用这个工具的博文,这里列举我参考的博文,网上的类似文章不少,可以多搜几篇参考,基本大同小异。

3步自动同步你的 Github 仓库到 Gitee 仓库

写一个合适自己的脚本

用 Yikun/hub-mirror-action 这个工具实现后,主要遇到几个问题:

  1. 每个新建的仓库,都需要自己加 action, 而且同样的密钥配置,需要每建一个仓库,都在仓库下重复配置一遍(可能因为本人是免费用户?),复杂度 O(n),我不能忍
  2. 将 github 和 gitee 私钥放得到处都是的做法(每个仓库都有一个备份),没有安全感

因此,觉得做一个适合自己的轮子

专门的仓库 + 定时任务 来处理同步

由于水平有限,还不会写 github action,所以用最简单的方法,搞几个小脚本,做成定时任务,周期拉取所有仓库,然后同步。

结合自己的情况,我自己有一台云主机,那么直接在云主机上搞定时任务,就很简单,只需要几个脚本,实现代码 github2gitee

这样做的好处:

  1. 自动更新: 当 github 的仓库发生变更时,自动同步代码变更以及commit历史记录到 gitee 对应的仓库
  2. 一次配置,适配所有仓库:不需要针对每个仓库进行单独的设置,也不需要在每个 github 仓库上增加 github action
  3. 支持私有仓库: 同时支持同步 github 公有仓库和私有仓库
  4. 灵活选择同步仓库:支持仓库的黑白名单配置,默认同步所有 github 仓库, 可以只同步指定仓库,也可以屏蔽特定仓库

同时,由于私钥都放在云主机上,相对比放仓库要放心许多。

没有云主机怎么办?

如果没有云主机,可以参考项目中的 github action,用 schedule 进行定时触发,此时需要将 github 和 gitee 的私钥都放到 action 的 secret 中。

使用 github action 需要的变量:

GITEE_PRIVATE_KEY: gitee 的私钥,用于提交代码
GIT_PRIVATE_KEY: github 的私钥,用于拉取代码
GITEE_TOKEN: gitee 的个人令牌,用于获取仓库列表,查询 commit id 等
GIT_TOKEN: github 的个人令牌,用于获取仓库列表,查询 commit id 等

标签:同步,私钥,仓库,gitee,github,action
From: https://www.cnblogs.com/coreylin/p/17633738.html

相关文章

  • ❤️ GitHub Copilot 读心术揭秘,Copilot 逆向工程笔记
    总览你是否好奇GitHubCopilot如何知道你想写的内容?有时候它聪明得甚至好像读过你项目里其他文件一样,不要怀疑,它确实读过。这篇文章记录了我阅读一个对Copilot的逆向工程的笔记,一言以蔽之,Copilot使用了Jaccard相似度获取用户最近访问过的页面里与当前编辑内容最相似的代码......
  • 漏洞仓库
    漏洞触发url方法匹配词用途详情espcms_utf8_v5.7.13.08.15存在CSRFhttp://192.168.230.148/espcms/adminsoft/index.php?archive=membermain&action=membersavePOSTadminsoft/index.php?archive=membermain&action=membersave新增用户espcms_v5.7.13存在CSRF......
  • Github账号开启账号双重验证
    原文:Github开启双重验证-Stars-One的杂货小窝今天在浏览开源项目的时候,突然Github有个提示我要在9月18日前开启双重验证,说是不完成的话,到时候的Github账号会受到限制于是花了些时间研究了下,通过百度搜索也看到了有篇文章说到这事,今年Github要在年底前限制必须所有账......
  • 部署Harbor镜像仓库
    Harbor介绍Harbor是一个开源的企业级容器注册表服务。它由VMware和Pivotal联合开发,旨在为云原生应用程序提供一种安全可靠的容器镜像管理解决方案。Harbor是一个功能丰富、安全可靠的容器注册表服务,适用于企业级容器管理需求。它提供了完善的功能和灵活的部署选项,可以帮助用户简......
  • Docker的仓库管理
    Docker的中央仓库谁提供了这样的仓库呢?......
  • git 仓库创建并导入项目
    1.初始化项目gitinit本地出现.git文件2、本地项目的文件gitadd.   添加所有的文件gitadd--all 添加所有的文件3、gitstatus显示工作目录和暂存区的状态4、gitcommit提交到版本库gitcommit-m"此处写提交备注"gitpushoriginmaster......
  • 字节码的终极应用-GitHub高星开源APM项目之Pinpoint
    大家好,我们前面的章节javaagent以及一些字节码修改框架ASM和Javassist,以及他们的一些简单的应用场景.今天重点给大家介绍一款github上开源的APM分布式链路监控产品--Pinpoint.Pinpoint是什么?Pinpoint是一个开源的APM(ApplicationPerformanceManagement/应用性能管理......
  • git上传多个仓库
    转自:https://www.cnblogs.com/hmy-666/p/17304317.html登录github时报错:fatal:unabletoaccess'https://github.com/GIT1582364788/RuoYi.git/':OpenSSL...产生原因:一般是这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错。解除ssl验证后,再次git即可gitc......
  • centos安装arp-scan,使用github上的源码安装
    使用github上的源码安装按照以下步骤使用arp-scan的GitHub源码进行安装:安装编译工具和依赖项:打开终端并以root用户或具有sudo权限的用户身份登录。运行以下命令以安装编译工具和必要的依赖项:sudoyuminstallgccmakelibpcap-devel下载源代码:在终端中,使用以下命令......
  • github显示不正常解决办法
    有的时候github页面打开排版不正常,F12打开开发者模式发现很多资源文件没有加载出来,通过修改hosts文件进行解决首先在网站网址查询上面分别输入以下网址github.comgithub.githubassets.com查询到对应的ip,然后在文件夹C:\Windows\System32\drivers\etc中的hosts文件中添加对应的......