V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeeReamond
V2EX  ›  GitLab

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

  •  
  •   LeeReamond · 166 天前 · 1159 次点击
    这是一个创建于 166 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    17 条回复    2022-02-27 07:35:57 +08:00
    momocraft
        1
    momocraft  
       166 天前
    gitlab 从前有 现在可能改没了

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

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

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

    检查更新状况,push 到其他平台。
    OrangeM21
        12
    OrangeM21  
       166 天前 via iPhone
    我在自己 gitea 服务器上跑了个 docker ,1 小时一次同步到 gitea 上。你可以搜一下……
    OrangeM21
        13
    OrangeM21  
       166 天前
    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
        14
    LeeReamond  
    OP
       166 天前
    @blindpirate 感觉是可行方案,现在有点慌,感觉这些 actions 都可能被算作恶意利用
    loki13
        15
    loki13  
       165 天前
    阿里云的代码服务 Codeup 有个导入仓库支持手动同步的功能,https://help.aliyun.com/document_detail/289096.html ,再用提供的 OpenAPI https://help.aliyun.com/document_detail/308248.html 配一下定时就行了吧
    lunny
        16
    lunny  
       165 天前
    Gitea 既支持 pull mirror 也支持 push mirror
    qq296015668
        17
    qq296015668  
       164 天前
    换个思路,既然会用 actions ,写个定时任务推送不就好了吗。
    担心安全问题就用第三方的 CI/CD 工具,利用 GitHub Webhooks 触发
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4007 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:32 · PVG 09:32 · LAX 18:32 · JFK 21:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.