2014-10-30 5 views
23

ich den Omniubus Installer für die CE von Gitlab einen frischen CentOS 6.6 installieren und verbraucht.Externe URL muss einen FQDN enthalten

Beim Laufen Gitlab-ctl recon ich folgende Fehler:

================================================================================ 
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" 

Der FQDN des Servers richtig eingestellt ist, ich habe eine externe IP. DNS ist so konfiguriert, dass der FQDN auf meine externe IP verweist.

Hier ist der Inhalt meiner /etc/gitlab/gitlab.rb bei, die nützlich ist:

# 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]' 
+0

postet auf Oktober, jetzt Mitte Dezember, existiert der Fehler immer noch. Ich bekomme es nicht, wie sie Software veröffentlichen können, die nicht einmal installierbar ist –

Antwort

69

EDIT: Dies ist nun mit dem Hinzufügen von http:// oder https:// der Domäne festgelegt in der Datei .rb. Getestet auf Debian 9 mit Gitlab EE.


hinzufügen = Zeichen an die gitlab.rb.

Es sollte sein:

external_url = 'gitlab.thefallenphoenix.net' 
gitlab_rails['gitlab_email_from'] = '[email protected]' 

Danach ist es in Ordnung installieren sollte. Zumindest hat es bei CentOS 6.6 funktioniert.

+0

Seltsam, dass ich hinzufügen musste, da die Datei abgesehen von der 2. Zeile die Standarddatei war! – kemra102

+0

@ kemra102 Wenn dies der Fall ist, sollten Sie in Erwägung ziehen, ein Problem im Upstream-Bereich zu öffnen. – axil

+0

hatte gerade das gleiche Problem, bemerkte das fehlende Gleichheitszeichen nicht! Definitiv ein Problem mit Omnibus, kann jemand mehr im Vorfeld wissen upstream? – wjdp

18

zum gitlab.rb die gleich Zeichen (=) Hinzufügen löst nur das Problem vorübergehend! Es ist kein Fehler. Die Verwendung von "http://example.com" anstelle von "example.com" löste das Problem tatsächlich. * Wenn Gitlab fein installiert, aber nicht zugänglich via Browser, einen Anschluss an die URL wie „http://example.com:10080“ hinzufügen und Sie sollten die Website http://example.com:10080 in Ihrem Browser sehen werden

+1

Dies ist eine langfristige Lösung, es funktionierte für mich als die andere akzeptierte Antwort nicht. Vielen Dank! – Chilion

+1

wo und wie kann ich das ändern? –

+1

Gehen Sie zu /etc/gitlab/gitlab.rb (Omnibus gitlab) –

1

ich von 6.6.9 auf die neueste gitlab_7.4.3-Omnibus-Upgrade .5.1.0.ci-1_amd64.deb

folgen Sie einfach das Upgrade instruction vor dem

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 

und dann tun

gitlab-ctr reconfigure 

alles in Ordnung ist!

+0

externe URL ist konfigurierbar bei /etc/gitlab/gitlab.rb Also einfach öffnen /etc/gitlab/gitlab.rb und hinzufügen http: // in external_url Variable, um dies zu arbeiten. –

+1

Ich habe diese Option abgelehnt, da es nicht empfohlen wird, den Code zu ändern, wenn es über eine Konfigurationsdatei bearbeitet werden kann. – jvanbaarsen

Verwandte Themen