LeeReamond
V2EX  ›  GitLab

gitlab/gitee 等平台有办法设置自动拉取 github 仓库内容并同步吗?

  •  
  •   LeeReamond · Feb 24, 2022 · 6777 views
    This topic created in 1722 days ago, the information mentioned may be changed or developed.

    如题,联动首页热帖 https://www.v2ex.com/t/836086

    个人情况:github 算上私有仓库小一百个的样子,加上 star 的目录也有一些价值。个人感觉是如果 github 被清空那是比银行卡被清空还难受。

    gh 抽风确实有些历史,偶尔能听到类似新闻。特别是我们这种使用 actions 做 ci 的,虽然没有任何违法乱纪活动,但是谁知道会不会突然抽风被封号,还有我也有一个小号用来储存 archive 的仓库,不知道会不会被误伤,确实有些吓人。

    解决方案应该是托管至多平台的 git 服务,但是手动维护过于麻烦。有什么成熟解决方案可以让其他平台自动备份 github 吗?如果有的话,私有仓库又该咋办呢

    17 replies  •  2022-02-27 07:35:57 +08:00
    momocraft
    momocraft
    Feb 24, 2022
    1
    gitlab 从前有 现在可能改没了

    弄台 vps 定期 git fetch 也行
    blindpirate
    blindpirate
    Feb 24, 2022
    2
    github action on push 然后 push 到其他平台不就完了?
    LeeReamond
    LeeReamond
    OP
    Feb 24, 2022 via Android
    3
    @blindpirate 那需要每次新建仓库都配置对应的 actions 文件,感觉不是正道
    Citrus
    Citrus
    Feb 24, 2022
    4
    Trim21
    Trim21
    Feb 24, 2022
    5
    @LeeReamond #3 找一个仓库调用 api 镜像自己所有仓库就行了
    mons
    mons
    Feb 24, 2022
    6
    自建 Gitea 也有 repo mirror 功能。每个 repo 可以单独自定 sync 间隔

    https://docs.gitea.io/en-us/repo-mirror/
    LeeReamond
    LeeReamond
    OP
    Feb 24, 2022 via Android
    7
    @Citrus 看起来它好像如果我新创建一个仓库它好像不能自动同步
    Bingchunmoli
    Bingchunmoli
    Feb 24, 2022 via Android
    8
    我用的 gogs 可以用
    Citrus
    Citrus
    Feb 24, 2022 via iPhone
    9
    @LeeReamond 那确实不能,必须手动在 GitLab 里导入一下。不过可以用机器人调用 API 。
    blindpirate
    blindpirate
    Feb 24, 2022
    11
    @LeeReamond 新建一个 gh 仓库,配置一个定时任务。

    在任务里,用 GH API iterate all repos in an organization 。如果需要私有仓库,配一个 PAT 即可。

    检查更新状况,push 到其他平台。
    OrangeM21
    OrangeM21
    Feb 25, 2022 via iPhone
    12
    我在自己 gitea 服务器上跑了个 docker ,1 小时一次同步到 gitea 上。你可以搜一下……
    OrangeM21
    OrangeM21
    Feb 25, 2022
    13
    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
    LeeReamond
    LeeReamond
    OP
    Feb 25, 2022
    14
    @blindpirate 感觉是可行方案,现在有点慌,感觉这些 actions 都可能被算作恶意利用
    loki13
    loki13
    Feb 25, 2022
    15
    阿里云的代码服务 Codeup 有个导入仓库支持手动同步的功能,https://help.aliyun.com/document_detail/289096.html ,再用提供的 OpenAPI https://help.aliyun.com/document_detail/308248.html 配一下定时就行了吧
    lunny
    lunny
    Feb 25, 2022
    16
    Gitea 既支持 pull mirror 也支持 push mirror
    qq296015668
    qq296015668
    Feb 27, 2022
    17
    换个思路,既然会用 actions ,写个定时任务推送不就好了吗。
    担心安全问题就用第三方的 CI/CD 工具,利用 GitHub Webhooks 触发
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4390 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 08:40 · PVG 16:40 · LAX 00:40 · JFK 03:40
    ♥ Do have faith in what you're doing.