Não é possível expor Jenkins externamente

Não é possível expor Jenkins externamente

Estou hospedando o Jenkins no Windows (motivos históricos). Acabei de atualizá-lo de1.620para2,62

Tudo funciona como esperado, exceto os pequenos detalhes que não consigo mais acessar. Somente acessá-lo do host funciona.

Encontrei vários posts sobre isso e todos sugeriram alterar os parâmetros de inicialização para definir:

--httpListenAddress=0.0.0.0

ou

--httpListenAddress=HOST

Eu tentei as duas soluções, mesmo resultado. Jenkins funciona quando acessado do host por:

  • 127.0.0.1
  • 10.0.1.11 (ip interno)
  • xxxx (ip externo)
  • HOSPEDAR

mas não funciona quando acessado de qualquer outra máquina.

Verifiquei as configurações do firewall e do Azure. Outro serviço (nexus:8081) está acessível conforme esperado. Mudar a porta para 8080 não ajudou.

isso é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>

isso é o registro do Jenkins

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

quando httpListenAddresso 0.0.0.0log foi:

INFO: Started ServerConnector@7ae0a9ec{HTTP/1.1,[http/1.1]}{0.0.0.0:80}

Responder1

então acontece que esta questão não tem nada a ver com Jenkins. Então peço desculpas a quem você tentou responder. (A configuração correta é usar o valor padrão httpListenAddressou defini-lo como --httpListenAddress=0.0.0.0)

Era o firewall do Windows. Para os velhos Jenkis -1.620firewall tinha uma regra paraJava 6e porta 80. O novo Jenkins está usandoJava 8que foi bloqueado.

Alterar as regras do firewall resolveu o problema.

Responder2

Para qualquer pessoa que esteja tentando instalar o Jenkins no Windows em um script do PowerShell, veja como dizer ao firewall para abrir a porta:

New-NetFirewallRule -Name jenkins -DisplayName 'Jenkins' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 8080

informação relacionada