我对设置Jenkins以在Nomad上测试和启动我的应用程序很感兴趣,并尝试使用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的固定隧道端口,以匹配下面的模板。
我在Jenkins的Nomad工作模板:
{
"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
}
}
]
}
}
1条答案
按热度按时间qyzbxkaa1#
jenkins url的地址无效,这就是消息的内容,给予jenkins示例的ip地址,而不是localhost. docker容器内部的localhost是docker容器localhost。
另外,记住在jenkins中启用到端口50000的连接,这是一个选项。