如何设置新的詹金斯奴隶
2022-09-01 23:05:21
我最近继承了一个由 Jenkins 驱动的 Java 项目,主要开发人员只是升级并退出。他将 Jenkins WAR 部署到虚拟服务器上的 Tomcat 实例,这就是所谓的“构建服务器”。
这个构建服务器配置了一个从属服务器,用于构建和部署到 另一个虚拟服务器。上周末,系统工作人员停用了虚拟服务器所在的物理服务器,为配置为部署到该从属服务器的任何 Jenkins 作业生成以下异常:myserver.example.com
myserver.example.com
当我单击“查看日志以获取更多详细信息”链接时,我看到以下控制台输出:
[03/18/13 08:13:31] [SSH] Opening SSH connection to myserver.example.com:22.
java.io.IOException: There was a problem while connecting to myserver.example.com:22
at com.trilead.ssh2.Connection.connect(Connection.java:755)
at com.trilead.ssh2.Connection.connect(Connection.java:546)
at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:650)
at hudson.plugins.sshslaves.SSHLauncher.launch(SSHLauncher.java:283)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:200)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.net.NoRouteToHostException: No route to host
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.trilead.ssh2.transport.TransportManager.establishConnection(TransportManager.java:342)
at com.trilead.ssh2.transport.TransportManager.initialize(TransportManager.java:450)
at com.trilead.ssh2.Connection.connect(Connection.java:699)
... 9 more
[03/18/13 08:13:34] [SSH] Connection closed.
这是有道理的,因为从站(虚拟)是离线的。但是,由于以前没有使用 Jenkins 的真正经验,我不确定配置 Jenkins 主站以构建这些作业并将其部署到新从站的正确步骤是什么,以及如何设置新的从站。例如,我是否需要在新从站上安装任何东西,或者进行任何类型的设置/配置?提前致谢!myserver.example.com