如题,联动首页热帖 https://www.v2ex.com/t/836086
个人情况:github 算上私有仓库小一百个的样子,加上 star 的目录也有一些价值。个人感觉是如果 github 被清空那是比银行卡被清空还难受。
gh 抽风确实有些历史,偶尔能听到类似新闻。特别是我们这种使用 actions 做 ci 的,虽然没有任何违法乱纪活动,但是谁知道会不会突然抽风被封号,还有我也有一个小号用来储存 archive 的仓库,不知道会不会被误伤,确实有些吓人。
解决方案应该是托管至多平台的 git 服务,但是手动维护过于麻烦。有什么成熟解决方案可以让其他平台自动备份 github 吗?如果有的话,私有仓库又该咋办呢
1
momocraft 2022-02-24 18:58:15 +08:00
gitlab 从前有 现在可能改没了
弄台 vps 定期 git fetch 也行 |
2
blindpirate 2022-02-24 18:59:47 +08:00
github action on push 然后 push 到其他平台不就完了?
|
3
LeeReamond OP @blindpirate 那需要每次新建仓库都配置对应的 actions 文件,感觉不是正道
|
4
Citrus 2022-02-24 19:12:22 +08:00
GitLab 现在也有,叫 mirror
https://docs.gitlab.com/ee/user/project/repository/mirror/ |
5
Trim21 2022-02-24 19:14:01 +08:00
@LeeReamond #3 找一个仓库调用 api 镜像自己所有仓库就行了
|
6
mons 2022-02-24 19:15:38 +08:00
|
7
LeeReamond OP @Citrus 看起来它好像如果我新创建一个仓库它好像不能自动同步
|
8
Bingchunmoli 2022-02-24 19:18:32 +08:00 via Android
我用的 gogs 可以用
|
9
Citrus 2022-02-24 20:56:44 +08:00 via iPhone
@LeeReamond 那确实不能,必须手动在 GitLab 里导入一下。不过可以用机器人调用 API 。
|
10
Cbdy 2022-02-24 20:59:28 +08:00
|
11
blindpirate 2022-02-24 23:55:56 +08:00
@LeeReamond 新建一个 gh 仓库,配置一个定时任务。
在任务里,用 GH API iterate all repos in an organization 。如果需要私有仓库,配一个 PAT 即可。 检查更新状况,push 到其他平台。 |
12
OrangeM21 2022-02-25 03:43:35 +08:00 via iPhone
我在自己 gitea 服务器上跑了个 docker ,1 小时一次同步到 gitea 上。你可以搜一下……
|
13
OrangeM21 2022-02-25 03:49:26 +08:00
docker container run \
-d \ --net host \ --restart always \ -e GITHUB_USERNAME=username \ -e GITHUB_TOKEN={github_token}\ -e GITEA_URL=http://ip\ -e GITEA_TOKEN={gitea_token}\ jaedle/mirror-to-gitea:latest |
14
LeeReamond OP @blindpirate 感觉是可行方案,现在有点慌,感觉这些 actions 都可能被算作恶意利用
|
15
loki13 2022-02-25 14:11:15 +08:00
阿里云的代码服务 Codeup 有个导入仓库支持手动同步的功能,https://help.aliyun.com/document_detail/289096.html ,再用提供的 OpenAPI https://help.aliyun.com/document_detail/308248.html 配一下定时就行了吧
|
16
lunny 2022-02-25 19:37:49 +08:00
Gitea 既支持 pull mirror 也支持 push mirror
|
17
qq296015668 2022-02-27 07:35:57 +08:00
换个思路,既然会用 actions ,写个定时任务推送不就好了吗。
担心安全问题就用第三方的 CI/CD 工具,利用 GitHub Webhooks 触发 |