大约一个月前,我在本地Ubuntu 14.04桌面上安装了gitlab omnibus,并大量使用它来进行项目管理和版本控制。我最近尝试将服务器设置为面向公众的服务器,并因此更改了主机名并更新了/ etc/hosts以启用此功能。一旦做出这样的改变,我一直无法推送到我的gitlab存储库,这不幸中止了几个项目的所有进展。发现此问题后,我将服务器主机名和/ etc/hosts文件恢复为其原始状态,作为解决问题的多个步骤中的几个步骤。没有任何工作,因为我得到了git @ [myserver]的用户登录提示,而不是使用以前使用的SSH密钥。git push gitlab ssh失败
我已经通过GitLab网页界面添加了ssh公钥,并通过检查/var/opt/gitlab/.ssh/authorized_keys文件并确认列出了公钥并确认它已安装,并且包含额外的'command = ...'部分,gitlab需要。对我来说,一切看起来都很好,对我来说,就是对我的理解。我确实在服务器上有其他用户帐户使用ssh密钥,并且已经确认这些按预期工作。这些问题似乎是特定于gitlab而不是我一般的ssh服务。
我发现了这个问题的其他讨论,但没有解决方案提供了这些为我工作。具体来说,我试图按照以下主题提供了方向:
- git push failing in gitlab
- https://github.com/gitlabhq/gitlab-public-wiki/wiki/Trouble-Shooting-Guide(特别是部分“无法从远程存储库中读取”)
我花了大约3天试图解决这个问题并没有取得任何进展。我甚至卸载并重新安装了gitlab,只是发现卸载并未清除任何设置或数据,并且问题仍然存在。
我该怎么做才能再次使用这个工具?我很高兴提供有关服务器的任何细节,并且需要配置gitlab。
感谢您的回复。我的gitlab-shell/config.yml文件由gitlab-ctl根据我的/etc/gitlab/gitlab.rb文件中的设置进行管理。我根据您的建议对config.yml文件进行了更改,但是,只要运行'gitlab-ctl reconfigure',该文件就会被覆盖,因此它们不是永久性的。 乍一看,我的gitlab_url被设置为'http://127.0.0.1:8080',这完全不符合你的建议。我尝试用我的主机名替换它,并尝试了各种尾部斜线和端口号,但没有看到情况发生任何变化。 –
假设我的主机名为'ts',我尝试了以下gitlab_url值而没有成功(我试图使用端口8081,因为我配置了gitlab在端口8081上运行nginx,并认为这些端口需要匹配): 'http :// ts' 'http:// ts /' 'http:// ts:8080' 'http:// ts:8080 /' 'http:// ts:8081' 'http:/// ts:8081 /' –
我在上面的每个更改之间运行'gitlab-ctl restart',以防万一需要重新启动这些更改。我不清楚,如果'你检查了端口号'部分的建议是否符合我上面尝试使用的端口号,请让我知道它是否不对。 –