代码库导入/迁移问题合集

本文汇总代码库导入相关问题和解决方法。

自建Gitlab导入时告知网络不通怎么处理?

Q:在进行三方代码库导入时,导入失败且提示“无法连通,请确认代码库公网可访问”应该怎么处理?

A:有时候,运维人员在配置自建Gitlab时,限制了使用内网地址,关闭了公网拉取的入口,此时每个仓库的下载地址将显示为内网地址,如:

1

针对内网托管服务不通公网的情况,有两种处理方案。

方案一【推荐】:使用云效官方提供的本地代码库导入工具,无须开放自建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 导入:

image

填写A企业下源代码库地址,填写有A企业源代码库克隆权限的云效账号的克隆账号/密码,或者克隆账号/个人访问令牌(Access Token)。

克隆账号可在对应账号的个人设置内查看,可通过页面右上角头像进入个人设置视图:

imageimage