是否有连接Nomad和Jenkins的额外设置?



我有兴趣在Nomad上设置Jenkins来测试和启动我的应用程序,并试图使用https://github.com/jenkinsci/nomad-plugin将两者连接起来

我已经安装并能够连接并验证从Jenkins到Nomad的连接。我有一个简单的管道,仅通过bash执行echo,并且我可以看到Jenkins能够启动Nomad作业和分配。然而,这些工作停滞不前甚至消失。查看Nomad日志,我可以看到:

INFO: Locating server among [http://localhost:8080/]
May 06, 2022 8:16:36 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: Failed to connect to http://localhost:8080/tcpSlaveAgentListener/: Connection refused (Connection refused)

听起来Nomad无法找到返回Jenkins的方式,尽管这是我机器上正确的Jenkins端口。

是否有一些额外的设置,我需要遵循允许Nomad传递信息回Jenkins?隧道有问题吗?我启用了50000的固定隧道端口来匹配下面的模板。

My Nomad job template in Jenkins:

{
"Job": {
"Region": "global",
"ID": "%WORKER_NAME%",
"Type": "batch",
"Datacenters": [
"dc1"
],
"TaskGroups": [
{
"Name": "jenkins-worker-taskgroup",
"Count": 1,
"RestartPolicy": {
"Attempts": 0,
"Interval": 10000000000,
"Mode": "fail",
"Delay": 1000000000
},
"Tasks": [
{
"Name": "jenkins-worker",
"Driver": "docker",
"Config": {
"image": "jenkins/inbound-agent"
},
"Env": {
"JENKINS_URL": "http://localhost:8080",
"JENKINS_AGENT_NAME": "%WORKER_NAME%",
"JENKINS_SECRET": "%WORKER_SECRET%",
"JENKINS_TUNNEL": "http://localhost:50000"
},
"Resources": {
"CPU": 500,
"MemoryMB": 256
}
}
],
"EphemeralDisk": {
"SizeMB": 300
}
}
]
}
}
"JENKINS_URL": "http://localhost:8080",

jenkins url的地址无效,这就是消息的内容。给出jenkins实例的ip地址,而不是localhost。docker容器中的Localhost就是docker容器Localhost。

另外,请记住在jenkins中启用连接到端口50000,这是一个选项。

最新更新