Windows에서 Jenkins를 호스팅하고 있습니다(역사적 이유).1.620에게2.62
더 이상 액세스할 수 없는 작은 세부 사항을 제외하고는 모든 것이 예상대로 작동합니다. 호스트에서만 액세스할 수 있습니다.
나는 그것에 관한 수많은 게시물을 찾았고 그들은 모두 시작 매개변수를 변경하여 설정할 것을 제안했습니다.
--httpListenAddress=0.0.0.0
또는
--httpListenAddress=HOST
두 가지 솔루션을 모두 시도했지만 결과는 동일했습니다. Jenkins는 다음을 통해 호스트에서 액세스할 때 작동합니다.
- 127.0.0.1
- 10.0.1.11(내부IP)
- xxxx(외부 IP)
- 주인
하지만 다른 컴퓨터에서 액세스할 때는 작동하지 않습니다.
방화벽과 Azure 설정을 확인했습니다. 다른 서비스(nexus:8081)에 예상대로 액세스할 수 있습니다. 포트를 8080으로 변경해도 도움이 되지 않았습니다.
그건jenkins.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>
그거 젠킨스 로그야
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
로그가 언제 httpListenAddress
있었 0.0.0.0
습니까?
INFO: Started ServerConnector@7ae0a9ec{HTTP/1.1,[http/1.1]}{0.0.0.0:80}
답변1
그래서 이 질문은 Jenkins와 아무 관련이 없다는 것이 밝혀졌습니다. 답변을 시도한 사람에게 사과드립니다. (올바른 설정은 기본값을 사용하거나 httpListenAddress
로 설정하는 것 입니다 --httpListenAddress=0.0.0.0
)
그것은 Windows 방화벽이었습니다. 오래된 젠키스를 위해 -1.620방화벽에는 규칙이 있었습니다.자바 6포트 80. 새로운 젠킨스가 사용 중입니다.자바 8차단된 것입니다.
방화벽 규칙을 변경하면 문제가 해결되었습니다.
답변2
PowerShell 스크립트를 사용하여 Windows에 Jenkins를 설치하려는 경우 방화벽에 포트를 열도록 지시하는 방법은 다음과 같습니다.
New-NetFirewallRule -Name jenkins -DisplayName 'Jenkins' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 8080