前情提要
- 我是通过 docker 安装的 gitlab_ce ,版本 14.4.2。因为机器还要跑其他服务,所以不能使用 80、22 等端口,需要映射到其他端口。
- 通过 gitlab.rb 配置文件配置的 external_url 只能配置在 clone 标签下得 host,不能带有端口号。
Clone with HTTP

- 首先必须是 Admin 账号。
- 进入 Admin Area。
- 在 Settings 的 General 中选择 Visibility and access controls。
- 往下拉,有一个标题为 Custom Git clone URL for HTTP(S) 的输入框。

-
可以在输入框中输入带端口号的 url。
-
保存就 OK 了。
Clone with SSH
-
在 gitlab.rb 中配置(/etc/gitlab/gitlab.rb)
-
搜索 gitlab_ssh_host
// 配置主机地址
gitlab_rails['gitlab_ssh_host'] = '192.168.72.90' -
搜索 ssh_port
// 配置主机的 ssh 端口
gitlab_rails['gitlab_shell_ssh_port'] = 40022 -
保存,重启 gitlab,就完成了。