私有GitLab仓库自动同步到GitHub
原来的仓库是放在GitHub上,但是会经常抽疯访问不了。搭建一个私有的GitLab-CE,考虑到自己搭建的GitLab的安全性。选择同时保留两个仓库。此时的问题就是怎么自动同步两个仓库的代码,毕竟不能手动去同步。
版本信息
GitLab-CE V14.9.2
因为GitLab的社区版本并不支持镜像仓库的PULL操作,只支持PUSH也就决定了仓库同步的方向必须是由GitLab同步到GitHub。当然如果是安装的GitLab企业版本(GitLab-EE)并且有授权那就另当别论了。
1. 创建代码仓库,并同步仓库
此时可能会存在几种情况:
- 没有任何仓库,只有本地代码
- 只存在GitHub仓库
- 只存在GitLab仓库
- GitLab和GitHub仓库都存在
1. 不存在任何仓库,只有本地代码时
- 首先在GitLab上创建代码库,并同步代码到GitLab的仓库
- 在GitHub上创建一个空的仓库
2. 只存在GitHub仓库
在GitLab上导入已经存在的GitHub仓库
3. 只存在GitLab仓库
在GitHub上创建一个空的仓库
4.GitLab和GitHub仓库都存在
这种情况比较特殊,如果两个仓库的代码是同步状态则不需要任何处理,如果两边的代码库不一致,则需要保证GitLab的仓库为最新代码
不管是哪种情况,实际都是要保证GitLab上的仓库为最新的代码。GitHub上可以是空仓库也可以是和GitLab上保持同步的仓库,因为代码的自动同步方向为从GitLab->GitHub
2. 设置镜像仓库
在GitLab 仓库的设置中镜像同步信息
注意!!!
在这里需要特别注意的就是最上侧填写的Git仓库URL,这个地址 是由你在GitHub上的账号加GitHub新建的repository地址组成
example:
我在GitHub的账号是: pony@ponycool.com
刚刚新建的repository的地址是: https://github.com/PonyCool/typecho-plugins.git
那么最终写入上面的地址应该是:
https://pony@ponycool.com@github.com/PonyCool/typecho-plugins.git
3. 同步仓库
设置完镜像同步信息可以点击立即更新开始同步
Comments | NOTHING