Внешний URL должен содержать полное доменное имя
Я установил новую установку CentOS 6.6 и использовал установщик Omniubus для CE Gitlab.
При запуске gitlab-ctl reconfigure возникают следующие ошибки:
================================================================================
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'] ||= "[email protected]#{uri.host}"
98: Gitlab['gitlab_rails']['gitlab_host'] = uri.host
99: Gitlab['gitlab_rails']['gitlab_email_from'] ||= "[email protected]#{uri.host}"
100:
101: case uri.scheme
102: when "http"
103: Gitlab['gitlab_rails']['gitlab_https'] = false
104: when "https"
Полное доменное имя сервера правильно установлено, у меня есть внешний 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'] = '[email protected]'
Ответы
Ответ 1
EDIT: Теперь это исправлено с добавлением http://
или https://
в домен в файле .rb
. Протестировано на Debian 9 с Gitlab EE.
Добавьте знак =
в gitlab.rb.
Это должно быть:
external_url = 'gitlab.thefallenphoenix.net'
gitlab_rails['gitlab_email_from'] = '[email protected]'
После этого он должен установить штраф. По крайней мере, это сработало для меня на CentOS 6.6.
Ответ 2
Добавление равного (=) знака в gitlab.rb решает вашу проблему временно! Это не ошибка.
Использование http://example.com "вместо" example.com" фактически решило проблему.
* Если gitlab устанавливается отлично, но не доступен через браузер, добавьте порт к URL-адресу, например "http://example.com:10080, и вы должны увидеть веб-сайт http://example.com:10080 в вашем браузере
Ответ 3
Я обновляюсь с 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'] ||= "[email protected]#{uri.host}"
108 Gitlab['gitlab_rails']['gitlab_host'] = uri.host
109 Gitlab['gitlab_rails']['gitlab_email_from'] ||= "[email protected]#{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
а затем do
gitlab-ctr reconfigure
все в порядке!