tcpSlaveAgentListener not found on Jenkins server

对着背影说爱祢 提交于 2020-12-08 06:14:17

问题


I am trying to connect to a Jenkins master instance from a slave. From a connectivity standpoint, everything looks good. I am able to curl the selected "TCP port for JNLP agent" as set in "Configure Global Security" in Jenkins from where I am starting the slave node:

$ curl http://myjenkinsurl:7004/
Jenkins-Agent-Protocols: CLI-connect, CLI2-connect, JNLP-connect, 
JNLP2-connect, JNLP4-connect, Ping
Jenkins-Version: 2.62
Jenkins-Session: 77c90621
Client: 10.0.0.2
Server: 172.0.0.2

However, when trying to get to start a slave node, I get this error reported on the slave node:

INFO: Locating server among [http://myjenkinsurl:7004]
May 25, 2017 12:22:12 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: http://myjenkinsurl:7004/tcpSlaveAgentListener/ is invalid: 404 Not Found

I also get the 404 Not Found error when curling http://myjenkinsurl:7004/tcpSlaveAgentListener/

This is what my relevant section of Configure Global Security looks like:

I am getting this error since upgrading to Jenkins 2.62 and it was previously working with a similar configuration on Jenkins 2.19.

Most of the similar queries I can find to this question do not have this additional port configured correctly, but the output I get from curling Jenkins on this set port, 7004 in my case, seems to indicate that this is not where the problem lies.

How do I get the tcpSlaveAgentListener URL to function?


回答1:


My case, I'm running both: master and the slaves on Kubernetes. The challenge of getting this working under a ingress apart, I was getting a similar error, and if I understood it right: the /tcpSlaveAgentListener/ should exist under Jenkins main port (usually 8080). This URL, you configure at Manage Jenkins -> Configuration-> Cloud / Kubernetes

Jenkins URL: http://jenkins:8080

Then, under Manage Jenkins -> Global Security-> Agents

TCP Port for inbound agents: 50000.

Here you can't use the same port as your main service for Jenkins.




回答2:


I'm running also master and slaves on kubernetes What I did to correct the error is to set up two different jenkins urls:

  1. ingress url Manage Jenkins > System configuration > Configure system > Jenkins location > Jenkins url: https://jenkins.local/
  2. jenkins service url Configure clouds > Kubernetes > Jenkins url: http://jenkins-service:8080


来源:https://stackoverflow.com/questions/44180595/tcpslaveagentlistener-not-found-on-jenkins-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!