实现Gitlab向Github推送更新,但并不完美。
背景
Github访问速度越来越堪忧
Gitlab速度还可以
Github上配置了各类自动部署,必须使用Github
思路
Gitlab拉取Github仓库→Gitlab配置镜像仓库
通过向gitlab的镜像仓库提交修改,自动同步到GitHub,触发部署
实操
Github端:
Setting → Developer Settings → Personal access token → Create new token
权限仅选择Repo即可,永不过期
Gitlab端:
导入仓库
Projects → new project → import project → Repository by URL
填入代码仓,格式
https://github.com/yourname/yourporject.git
填写用户名,GitHub的用户名
填写密码,也就是上一步生成的token
导入成功后进入下一步
配置推送
进入刚导入的代码仓,添加镜像仓库地址
Settings → Repository → Mirroring repositories → Add new
填写推送地址 格式
https://[email protected]/yourname/yourproject
填写用户名,GitHub的用户名
填写密码,也就是上上一步生成的token
配置完成后可以手动点击同步按钮,触发一次push测试
注意
配置拉取代码仓 和 配置推送代码仓,url格式不同
Gitlab社区版的镜像仓库功能,只有推送,不能自动拉取
所以缺点很明显:只能通过单一途径,Gitlab向Github更新内容
如果从其他途径更新了内容,再从Gitlab老仓库更新,会导致回归到Gitlab上的版本,这不是我们想要的
优点也很明显:在Github上不去的时候,可以通过Gitlab更新,曲线救国
如果能看到这篇文章,说明已经成功从Gitlab向Github推送并自动部署了 : )