本文汇总代码库导入相关问题和解决方法。
自建Gitlab导入时告知网络不通怎么处理?
Q:在进行三方代码库导入时,导入失败且提示“无法连通,请确认代码库公网可访问”应该怎么处理?
A:有时候,运维人员在配置自建Gitlab时,限制了使用内网地址,关闭了公网拉取的入口,此时每个仓库的下载地址将显示为内网地址,如:
针对内网托管服务不通公网的情况,有两种处理方案。
方案一【推荐】:使用云效官方提供的本地代码库导入工具,无须开放自建Gitlab克隆地址为公网可访问,具体操作指导参见本地代码迁移工具;
方案二:开放代码库公网克隆地址,让云效能够拉取到代码库。
以下示例没有买域名,因此使用frp的端口来代理本地gitlab的Web端口。
1.更改 gitlab.rb 的 external_url 为公网地址
grep ^external_url /mnt/gitlab/etc/gitlab.rb
external_url 'http://47.103.xx.x'
2. 更改如下host和port参数
$ cat /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
## GitLab settings
gitlab: ## Web server settings (note: host is the FQDN, do not include http://)
host: 47.103.xx.x #公网地址
port: 20113 #这个是frp的映射地址
https: false
3.在frpc.ini的配置文件中,把地址映射出去
[test-web]
type = tcp
local_ip = 127.0.0.1
local_port = 20113
remote_port = 20113
4.启动docker的时候,全部使用映射地址
docker run -itd --name gitlab -p 8443:443 -p 20113:80 -p 20112:22 --restart unless-stopped -v /mnt/gitlab/etc:/etc/gitlab -v /mnt/gitlab/log:/var/log/gitlab -v /mnt/gitlab/data:/var/opt/gitlab beginor/gitlab-ce:11.0.1-ce.0
5.登录 Gitlab 查看 Clone with HTTP 的地址已更改为公网地址。
如何将代码库从云效当前企业导入到另一个云效企业?
同类问题:如何将代码库导入到其他云效账号下?
概念说明:云效按企业隔离资源,企业下的代码库都是属于企业的资产,因此不存在导入到某个账号下的概念。你可以通过页面 URL 导入的方式,将云效A企业的代码库,导入到云效B企业中去。
导入操作说明
进入B企业的代码库首页,点击右上角新建库,选择导入库,进入导入视图,选择 URL 导入:
填写A企业下源代码库地址,填写有A企业源代码库克隆权限的云效账号的克隆账号/密码,或者克隆账号/个人访问令牌(Access Token)。
克隆账号可在对应账号的个人设置内查看,可通过页面右上角头像进入个人设置视图: