在Jenkins服务器上找不到tcpSlaveAgentListener

时间:2017-05-25 12:28:24

标签: jenkins continuous-integration

我正在尝试从奴隶连接到Jenkins主实例。从连接的角度来看,一切看起来都不错。我能够在Jenkins的“配置全局安全性”中设置所选的“JNLP代理的TCP端口”,我从那里启动从节点:

$ 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

但是,当尝试启动从属节点时,我会在从属节点上报告此错误:

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

卷曲http://myjenkinsurl:7004/tcpSlaveAgentListener/

时,我也收到404 Not Found错误

这就是我配置全局安全性的相关部分:

Configure Global Security

自从升级到Jenkins 2.62后我收到此错误,之前它在Jenkins 2.19上使用了类似的配置。

我可以在这个问题上找到的大多数类似查询没有正确配置这个额外的端口,但是我在这个设置端口上卷曲Jenkins的输出,在我的情况下是7004,似乎表明这不是问题在于。

如何让tcpSlaveAgentListener URL运行?

2 个答案:

答案 0 :(得分:3)

我的情况是,我同时运行:Kubernetes上的主服务器和从属服务器。 使这个问题在入口下分离的挑战是,我遇到了类似的错误,如果我理解正确的话: /tcpSlaveAgentListener/应该存在于詹金斯主端口(通常为8080)下。 您可以在Manage Jenkins->配置->云/ Kubernetes中配置此URL

詹金斯网址:http://jenkins:8080

然后,在Manage Jenkins-> Global Security-> Agents下

入站代理程序的TCP端口:50000

在这里不能使用与您的Jenkins主要服务相同的端口。

答案 1 :(得分:0)

我也在kubernetes上运行主服务器和从服务器 我纠正错误的方法是设置两个不同的jenkins网址:

  1. 入口网址 管理Jenkins>系统配置>配置系统> Jenkins位置> Jenkins URL:https://jenkins.local/
  2. jenkins服务网址 配置云> Kubernetes> Jenkins网址:http:// jenkins-service:8080