Ich hoste Jenkins unter Windows (historische Gründe) Habe es gerade aktualisiert von1.620Zu2,62
Alles funktioniert wie erwartet, bis auf die kleine Kleinigkeit, dass ich nicht mehr darauf zugreifen kann. Nur der Zugriff vom Host aus funktioniert.
Ich habe zahlreiche Beiträge dazu gefunden und in allen wurde vorgeschlagen, die Startparameter wie folgt zu ändern:
--httpListenAddress=0.0.0.0
oder
--httpListenAddress=HOST
Ich habe beide Lösungen ausprobiert, das Ergebnis war dasselbe. Jenkins funktioniert, wenn vom Host aus darauf zugegriffen wird:
- 127.0.0.1
- 10.0.1.11 (interne IP)
- xxxx (externe IP)
- GASTGEBER
funktioniert aber nicht, wenn von einem anderen Computer darauf zugegriffen wird.
Ich habe die Firewall- und Azure-Einstellungen überprüft. Der andere Dienst (Nexus:8081) ist wie erwartet erreichbar. Das Ändern des Ports auf 8080 hat nicht geholfen.
Das istjenkins.xml
<service>
<id>jenkins</id>
<name>Jenkins</name>
<description>This service runs Jenkins continuous integration system.
</description>
<env name="JENKINS_HOME" value="%BASE%"/>
<env name="HTTP_HOST" value="HOST.cloudapp.net"/>
<executable>%JAVA_HOME%\jre\bin\java</executable>
<arguments>-Xrs -Xmx512M -Dfile.encoding=UTF8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=80 --httpListenAddress="%HTTP_HOST%" --webroot="%BASE%\war"</arguments>
<logmode>rotate</logmode>
<onfailure action="restart" />
</service>
das ist das Jenkins-Log
INFO: Started w.@1750fbeb{/,file:///E:/Program%20Files%20(x86)/Jenkins/war/,AVAILABLE}{E:\Program Files (x86)\Jenkins\war}
May 25, 2017 2:17:51 AM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector@7ae0a9ec{HTTP/1.1,[http/1.1]}{HOST.cloudapp.net:80}
May 25, 2017 2:17:51 AM org.eclipse.jetty.server.Server doStart
INFO: Started @4534ms
May 25, 2017 2:17:51 AM winstone.Logger logInternal
INFO: Winstone Servlet Engine v4.0 running: controlPort=disabled
May 25, 2017 2:17:54 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
May 25, 2017 2:17:55 AM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
(removed few lines about ruby failing)
INF/jruby.home/lib/ruby/shared/rubygems/custom_require.rb:36
May 25, 2017 2:18:04 AM jenkins.InitReactorRunner$1 onTaskFailed
SEVERE: Failed Loading plugin ruby-runtime v0.12 (ruby-runtime)
May 25, 2017 2:18:40 AM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
wann httpListenAddress
wurde 0.0.0.0
das Protokoll erstellt:
INFO: Started ServerConnector@7ae0a9ec{HTTP/1.1,[http/1.1]}{0.0.0.0:80}
Antwort1
es stellt sich heraus, dass diese Frage nichts mit Jenkins zu tun hat. Ich entschuldige mich also bei allen, die versucht haben, zu antworten. (Die richtige Einstellung ist entweder die Verwendung des Standardwerts für httpListenAddress
oder die Einstellung auf --httpListenAddress=0.0.0.0
)
Es war die Windows-Firewall. Für alte Jenkis -1.620Firewall hatte eine Regel fürJava 6und Port 80. Der neue Jenkins verwendetJava 8welches blockiert wurde.
Das Ändern der Firewall-Regeln hat das Problem behoben.
Antwort2
Wenn Sie versuchen, Jenkins unter Windows mithilfe eines PowerShell-Skripts zu installieren, können Sie der Firewall folgendermaßen mitteilen, dass der Port geöffnet werden soll:
New-NetFirewallRule -Name jenkins -DisplayName 'Jenkins' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 8080