Gitlab 外部URL必须包含FQDN
我设置了一个新的CentOS 6.6安装程序,并将Omniubus安装程序用于Gitlab的CE 运行gitlab ctl reconfigure时,我会出现以下错误:Gitlab 外部URL必须包含FQDN,gitlab,Gitlab,我设置了一个新的CentOS 6.6安装程序,并将Omniubus安装程序用于Gitlab的CE 运行gitlab ctl reconfigure时,我会出现以下错误: ================================================================================ Recipe Compile Error in /opt/gitlab/embedded/cookbooks/gitlab/recipes/default.rb ===
================================================================================
Recipe Compile Error in /opt/gitlab/embedded/cookbooks/gitlab/recipes/default.rb
================================================================================
RuntimeError
------------
External URL must include a FQDN
Cookbook Trace:
---------------
/opt/gitlab/embedded/cookbooks/gitlab/libraries/gitlab.rb:95:in `parse_external_url'
/opt/gitlab/embedded/cookbooks/gitlab/libraries/gitlab.rb:191:in `generate_config'
/opt/gitlab/embedded/cookbooks/gitlab/recipes/default.rb:34:in `from_file'
Relevant File Content:
----------------------
/opt/gitlab/embedded/cookbooks/gitlab/libraries/gitlab.rb:
88:
89: def parse_external_url
90: return unless external_url
91:
92: uri = URI(external_url.to_s)
93:
94: unless uri.host
95>> raise "External URL must include a FQDN"
96: end
97: Gitlab['user']['git_user_email'] ||= "gitlab@#{uri.host}"
98: Gitlab['gitlab_rails']['gitlab_host'] = uri.host
99: Gitlab['gitlab_rails']['gitlab_email_from'] ||= "gitlab@#{uri.host}"
100:
101: case uri.scheme
102: when "http"
103: Gitlab['gitlab_rails']['gitlab_https'] = false
104: when "https"
服务器的FQDN设置正确,我有一个外部IP。DNS配置为FQDN指向我的外部IP
以下是我的/etc/gitlab/gitlab.rb的内容,以防有用:
# Check and change the external_url to the address your users will type in their browser
external_url 'gitlab.thefallenphoenix.net'
gitlab_rails['gitlab_email_from'] = 'gitlab@thefallenphoenix.net'
编辑:现在可以通过向
.rb
文件中的域添加http://
或https://
来修复此问题。使用Gitlab EE在Debian 9上测试
在gitlab.rb中添加一个
=
符号
应该是:
external_url = 'gitlab.thefallenphoenix.net'
gitlab_rails['gitlab_email_from'] = 'gitlab@thefallenphoenix.net'
之后,它应该安装良好。至少它在CentOS 6.6上对我有效。在gitlab.rb中添加等号(=)只能暂时解决您的问题!这不是一个错误。
使用“”而不是“example.com”实际上解决了这个问题。
*如果gitlab安装良好但无法通过浏览器访问,请在url中添加一个类似“”的端口,您应该可以在浏览器中看到该网站I从6.6.9升级到最新的gitlab_7.4.3-omnibus.5.1.0.ci-1_amd64.deb 只需在升级之前进行升级即可
gitlab-ctl reconfigure
vim/opt/gitlab/embedded/cookbooks/gitlab/libraries/gitlab.rb
99 def parse_external_url
100 return unless external_url
101
102 uri = URI("http://whatever.example.com")
//just change external_url line here
103
104 unless uri.host
105 raise "External URL must include a FQDN"
106 end
107 Gitlab['user']['git_user_email'] ||= "gitlab@#{uri.host}"
108 Gitlab['gitlab_rails']['gitlab_host'] = uri.host
109 Gitlab['gitlab_rails']['gitlab_email_from'] ||= "gitlab@#{uri.host}"
110
111 case uri.scheme
112 when "http"
113 Gitlab['gitlab_rails']['gitlab_https'] = false
114 when "https"
115 Gitlab['gitlab_rails']['gitlab_https'] = true
116 Gitlab['nginx']['ssl_certificate'] ||= "/etc/gitlab/ssl/#{uri.host}.crt"
117 Gitlab['nginx']['ssl_certificate_key'] ||= "/etc/gitlab/ssl/#{uri.host}.key"
118 else
119 raise "Unsupported external URL scheme: #{uri.scheme}"
120 end
121
122 unless ["", "/"].include?(uri.path)
123 raise "Unsupported external URL path: #{uri.path}"
124 end
125
126 Gitlab['gitlab_rails']['gitlab_port'] = uri.port
127 end
然后呢
gitlab-ctr reconfigure
一切都好 奇怪的是,我需要添加,因为除了第2行,该文件是默认的@KEMRA102如果是这样的话,考虑打开上游问题。只是有同样的问题,没有注意到丢失的等号!毫无疑问,这是omnibus的一个问题,是否有更多的知情人士可以通知上游?这个解决方案对我很有效!我也遇到了同样的问题(我也在使用omnibus,默认的gitlab.rb未被修改),除了我使用的是CentOS 7而不是6.6,实际上这只是为了让脚本闭嘴。脚本只是忽略了这一点——只要您想更改url中的任何内容,它就不起作用。这是一个长期的解决方案,它对我有效,而另一个被接受的答案却没有。谢谢在何处以及如何更改?转到/etc/gitlab/gitlab.rb(omnibus gitlab)如果在docker容器中运行gitlab,如何更改?容器在我登录之前就失败了…外部url可在/etc/gitlab/gitlab.rb处配置,因此只需打开/etc/gitlab/gitlab.rb并添加http://in external_url变量即可。我否决了此选项,因为如果可以在10月份通过config file.poset编辑代码,则不建议更改代码,现在12月中旬,这个错误仍然存在。我不明白他们是如何发布甚至不可安装的软件的。这个错误也出现在Ubuntu 16.04上的Digital Ocean的GitLab“一键安装”应用程序Droplet选项的默认安装中