我的gitlab
位于主机服务器上的虚拟机上。我使用非标准SSH端口(即766
)访问虚拟机,然后iptable规则从host:766
转发到vm:22
。
因此,当我创建一个新的repo时,添加远程的指令提供了一个格式错误的URL(因为它不使用766
端口。例如,Web界面给我这个:
git remote add origin git@git.domain.com:group/project.git
而不是在群组之前包含:766/
的网址。
git remote add origin git@git.domain.com:766 / group / project.git
所以,当我创建一个回购时,我必须手动进行修改,对于我的协作者来说也是如此。 我该如何解决这个问题?
答案 0 :(得分:72)
在Omnibus打包的版本中,您可以在/etc/gitlab/gitlab.rb
文件中修改该属性:
gitlab_rails['gitlab_shell_ssh_port'] = 766
然后,您需要重新配置GitLab:
# gitlab-ctl reconfigure
您的URI将在网络界面中正确显示为ssh://git@git.domain.com:766/group/project.git
。
答案 1 :(得分:33)
如果在config / gitlab.yml中正确配置ssh_port,则网页将显示正确的repo url。
## GitLab Shell settings
gitlab_shell:
...
# If you use non-standard ssh port you need to specify it
ssh_port: 766
PS。 正确的网址是: ssh://git@git.domain.com:766 / group / project.git
编辑:更改后需要清除缓存等:
bundle exec rake cache:clear assets:clean assets:precompile RAILS_ENV=production
答案 2 :(得分:4)
NB:这是在旧Giltab版本(v5
- v6
)上测试的,可能不适合现代实例。
您可以在两个步骤中实现类似的行为:
config/gitlab.yml
在服务器上,将端口设置为您使用的端口:
ssh_port: 766
~/.ssh/config
在您的计算机上,添加与您的gitlab相对应的以下部分:
Host sub.domain.com
Port 766
您需要在每个用户的计算机上重复此操作...