自动镜像你的 GitHub 仓库
2020-07-13 本文已影响0人
王诗翔
GitHub 仓库下载本来就慢,再加上偶尔来的宕机让我有了些危机意识。
- 要是真的仓库数据因为宕机发生了数据丢失?
- 要是 GitHub 全站被禁止访问了?(本身 gists 和 raw.github 域名目前在国内是不可以访问的)
做个备份吧!
接下来的内容告诉你如何配置,让 GitHub 的 workflow 帮你定时自动同步代码到 Gitee。
该方法基于 action https://github.com/Yikun/hub-mirror-action 实现。
先 Fork 仓库 https://github.com/ShixiangWang/sync2gitee,或者你自己建一个仓库进行以下步骤。
-
基于 SSH 配置公钥和私钥,参考或网上N多资料。
-
将私钥传到 GitHub 仓库,通过设置中的 Secrets 创建一个
GITEE_PRIVATE_KEY
变量,将私钥内容拷贝到值区域
-
同理将公钥传到 Gitee 上,这样就可以实现 GitHub 和 Gitee 的通信
-
在 Gitee 上创建一个私人令牌(token),这个记得保存,因为它只会出现一次
-
类似第 2 步,创建一个
GITEE_TOKEN
变量,将私人令牌作为值粘贴进去。
这样配置就完成了。
如果你是自己创建的仓库,请拷贝我定义的 workflow https://github.com/ShixiangWang/sync2gitee/blob/master/.github/workflows/sync.yml 。
你还可以根据自己的实际情况修改配置,以下是有用的参考:
目前 hub-mirror-action 不支持 > 100 个仓库的同步,如果你需要仅设置仓库白名单或黑名单,请参考第一条链接。