连接Nomad和Jenkins是否需要额外设置?

cwxwcias  于 2023-02-18  发布在  Jenkins
关注(0)|答案(1)|浏览(172)

我对设置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
        }
      }
    ]
  }
}
qyzbxkaa

qyzbxkaa1#

"JENKINS_URL": "http://localhost:8080",

jenkins url的地址无效,这就是消息的内容,给予jenkins示例的ip地址,而不是localhost. docker容器内部的localhost是docker容器localhost。
另外,记住在jenkins中启用到端口50000的连接,这是一个选项。

相关问题