sync repo from Github to Gitee using github action
缘起
早年在 github 上做了个 repo 用作图床,但是由于种种原因,大陆访问 github.com 的速度感人,故而想把(图床)数据在大陆的 gitee.com 上也同步一份,然后用 gitee.com 上的图床来给大家访问。
网上搜了下,有用 gitee 的“镜像仓库”的功能的,但这个功能需要申请开通,直接否掉。然后其他基本都是用 github action 来实现,这个我也是认同的。不过好多人都是直接用的别人做好的项目来实现的,由于我一是觉得这个东西不复杂没必要用别人封装好的东西(因为他封装好的好些东西我不一定需要),再个感觉虽然别人也开源但我也没那闲功夫整天 review 别人的代码,所以我就想不用别人现成的东西,自己整。
具体方案
准备
公私钥一对
没有的话可以生成:
1 | ssh-keygen -t ed25519 -f id_ed25519_github2gitee -C "for sync from github to gitee"; |
github 账号及图床仓库
这里假设是 xxxxgithub 和 imagehostgithub
gitee 测
- 新建账号(假设是:xxxxgitee)
- 新建仓库(假设是:imagehostgitee)
- 上传公钥(https://gitee.com/profile/sshkeys)
github 测
上传私钥
在 Settings->Secrets 配置一个叫 GITEE_PRIVATE_KEY 的 Repository secrets,内容就是前面准备的私钥(文件 id_ed25519_github2gitee 里)
配置 github action
新建文件 .github/workflows/sync2gitee.yml,内容如下:
1 | name: sync2gitee |
保存,提交,就应该会触发同步。在 github 里 repo 下的 Actions 里可以看下结果