前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动镜像你的 GitHub 仓库

自动镜像你的 GitHub 仓库

作者头像
王诗翔呀
发布2020-07-15 14:28:32
1.1K0
发布2020-07-15 14:28:32
举报
文章被收录于专栏:优雅R优雅R

GitHub 仓库下载本来就慢,再加上偶尔来的宕机让我有了些危机意识。

  • 要是真的仓库数据因为宕机发生了数据丢失?
  • 要是 GitHub 全站被禁止访问了?(本身 gists 和 raw.github 域名目前在国内是不可以访问的)

「做个备份吧」

接下来的内容告诉你如何配置,让 GitHub 的 workflow 帮你定时自动同步代码到 Gitee。

该方法基于 action https://github.com/Yikun/hub-mirror-action 实现。

先 Fork 仓库 https://github.com/ShixiangWang/sync2gitee[1],或者你自己建一个仓库进行以下步骤。

  1. 基于 SSH 配置公钥和私钥,[参考](https://github.com/ShixiangWang/sync-deploy#%E5%87%86%E5%A4%87%E4%B8%8E%E9%85%8D%E7%BD%AE[2])或网上N多资料。
  2. 将私钥传到 GitHub 仓库,通过设置中的 Secrets 创建一个 GITEE_PRIVATE_KEY 变量,将私钥内容拷贝到值区域
  1. 同理将公钥传到 Gitee 上,这样就可以实现 GitHub 和 Gitee 的通信
  1. 在 Gitee 上创建一个私人令牌(token),这个记得保存,因为它只会出现一次
  1. 类似第 2 步,创建一个 GITEE_TOKEN 变量,将私人令牌作为值粘贴进去。

这样配置就完成了。

如果你是自己创建的仓库,请拷贝我定义的 workflow https://github.com/ShixiangWang/sync2gitee/blob/master/.github/workflows/sync.yml[3] 。

你还可以根据自己的实际情况修改配置,以下是有用的参考:

  • https://github.com/Yikun/hub-mirror-action
  • https://docs.github.com/en/actions
  • crontab的语法规则格式(每分钟、每小时、每天、每周、每月、每年定时执行 规则)[4]

❝目前 hub-mirror-action 不支持 > 100 个仓库的同步,如果你需要仅设置仓库白名单或黑名单,请参考第一条链接。 ❞

Reference

[1]

https://github.com/ShixiangWang/sync2gitee: https://github.com/ShixiangWang/sync2gitee

[2]

参考: https://github.com/ShixiangWang/sync-deploy#准备与配置

[3]

https://github.com/ShixiangWang/sync2gitee/blob/master/.github/workflows/sync.yml: https://github.com/ShixiangWang/sync2gitee/blob/master/.github/workflows/sync.yml

[4]

crontab的语法规则格式(每分钟、每小时、每天、每周、每月、每年定时执行 规则): https://blog.csdn.net/xinyflove/article/details/83178876

[5]

https://shixiangwang.github.io/sync2gitee/: https://shixiangwang.github.io/sync2gitee/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 优雅R 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Reference
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档