【发布时间】:2019-03-16 19:23:35
【问题描述】:
我已经在 AWS ec2 实例上设置了 Jenkins。我有几台机器(Ubuntu、Mac),它们应该是奴隶。
我已经在我的 Jenkins 主节点上配置了节点,我正在尝试使用 JNLP-4 协议通过随机端口连接从节点。
我已启用安全性,将代理的 TCP 端口选择为随机,启用 CLI over remoting,启用代理 -> 主访问控制。
完成所有这些操作后,当我尝试连接时,出现以下错误:
Vighneshs-MBP:Downloads vighneshpai$ java -jar agent.jar -jnlpUrl https://my.host.name/computer/Mac/slave-agent.jnlp -secret cf400d1a4e0a1dcc75da2b361efafbce3321e17b935bdcf14350a36e
Oct 11, 2018 8:43:50 PM hudson.remoting.jnlp.Main createEngine
INFO: Setting up agent: Mac
Oct 11, 2018 8:43:50 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Oct 11, 2018 8:43:50 PM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 3.25
Oct 11, 2018 8:43:50 PM org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir
INFO: Using /Users/vighneshpai/Downloads/remoting as a remoting work directory
Both error and output logs will be printed to /Users/vighneshpai/Downloads/remoting
Oct 11, 2018 8:43:50 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [https://my.host.name/]
Oct 11, 2018 8:43:51 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver resolve
INFO: Remoting server accepts the following protocols: [JNLP4-connect, JNLP-connect, Ping, JNLP2-connect, JNLP3-connect]
Oct 11, 2018 8:43:56 PM org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver isPortVisible
WARNING: connect timed out
Oct 11, 2018 8:43:56 PM hudson.remoting.jnlp.Main$CuiListener error
SEVERE: https://my.host.name/ provided port:49187 is not reachable
java.io.IOException: https://my.host.name/ provided port:49187 is not reachable
at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:286)
at hudson.remoting.Engine.innerRun(Engine.java:523)
at hudson.remoting.Engine.run(Engine.java:474)
我也尝试使用固定端口并将该端口添加到允许入站访问的端口列表中。仍然无法连接。
相同的机器,连接到本地机器上运行的 Jenkins 没有任何问题。
可能是什么问题?
【问题讨论】:
-
请提供有关您的设置的更多信息。您的 Jenkins 从属服务器也在 AWS 上,或者它们是本地机器?首先,您需要确保网络配置正确。使用“nc”之类的工具来验证这一点。 SSH 到 Jenkins master 并执行“nc
”。并且看到它完全可以到达奴隶。 -
是的,我的机器是本地机器。关于网络,它们配置正确。我检查了两个不同的网络。一种带防火墙,一种不带防火墙。
-
尝试运行这个 netcat 命令并告诉结果。通常远程主机应该在一段时间后断开连接。如果不是这种情况并且连接只是“挂起”,那么网络是不正确的。
-
我发现,我所有的网络连接都按要求工作。
-
还有一个关于在一些安全敏感网络后面配置端口的信息,这可能会阻止我建立这个连接。 stackoverflow.com/questions/38729686/…
标签: macos amazon-web-services ubuntu jenkins amazon-ec2