返回文章列表
Gitlab代码同步到Github
工具
【背景】
公司的代码一直在内网的gitlab上,
包括日常的代码提交,代码review,代码项目管理,人员管理等,
目前有新业务需要部署到海外aws上,
也就是说需要从海外aws上拉取国内阿里云内网的gitlab代码,
常见的几个方案
- 国内gitlab到国外aws走跨境专线
- 手动将代码同步到github等
- 自动将代码同步到github等
方案1没必要,太贵
方案2,3中肯定首选方案3
【方案】
日常的代码管理,人员管理还是内网gitlab
通过使用gitlab镜像功能自动将代码同步到github
aws从github拉代码
【同步】
创建github项目
首先在github上创建一个新账号,例如xx-robot,
如果需要同步的是内网gitlab的test项目,
那么在github这个账号下创建对应的test项目,
设置gitlab镜像
在gitlab-test项目-设置-仓库-镜像仓库中进行设置,
这里需要注意github的鉴权方式,
由于github禁用了个人username+password拉取代码的方式,
这里需要使用github新提供的个人token的方式
github-token
在github-settings中,选择developer settings

然后在personal access tokens中选择生成token

note这里随便写一个名字,
过期时间按自己的需求选择,这里选择不过期,
权限也按自己需求选择,这里全部选中,

将生成的token复制出来,

gitlab镜像url
使用上面复制好的token,以及username和reponame,拼接一个url,如下
https://${token}@github.com/${username}/${reponame}.git
将拼接好的url填入镜像仓库内,
密码不填,
可以选择仅镜像保护分支,

【触发同步】
至此,gitlab同步到github已经完成,如下

可以点击右侧刷新按钮,触发一次同步,
或者后续每次保护分支有push操作都会同步,