如何设置新的Jenkins奴隶

IAm*_*aja 23 java continuous-integration virtual-server jenkins

我最近继承了Jenkins驱动的Java项目,其中主要开发人员刚刚升级并退出.他已将Jenkins WAR部署到虚拟服务器上的Tomcat实例,这就是被认为是"构建服务器"的东西.

此构建服务器配置了一个从属服务器,用于构建和部署到myserver.example.com另一个虚拟服务器.在周末,系统工作人员退出myserver.example.com虚拟所在的物理服务器,为配置为部署到该从属服务器的任何Jenkins作业产生以下异常:

在此输入图像描述

当我点击" 查看日志以获取更多详细信息 "链接时,我看到以下控制台输出:

[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.
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为从属(myserver.example.com虚拟)是离线的.但是,由于没有真正的Jenkins经验,我不确定配置Jenkins主站以构建/部署这些作业到新的从站的正确步骤,以及如何设置新的从站.例如,我是否需要在新的slave上安装任何东西,或者进行任何类型的setup/config?提前致谢!

gai*_*ige 36

在Jenkins中添加奴隶非常简单.基本上,如果您使用的是unix slave,则需要SSH访问该计算机.您还需要安装Jenkins SSH Slaves插件.一旦你的,到管理詹金斯在您选择,并选择管理节点.

然后是以下步骤:

  1. 单击" 新节点"
  2. 选择Dumb Slave并为其命名(符号,不需要是域名,稍后会出现)
  3. 单击"确定",然后继续进入配置页面
  4. 使用要在该节点上运行的并发进程数填充执行程序数(通常不超过分配的CPU核心数)
  5. 使用Jenkins存储其工作文件的完整路径填写远程FS Root
  6. 如果您正在使用系统中的标签,可以选择添加标签(在许多情况下不是必需的,但您的Projects可能要求节点在特定作业的执行程序池中具有某些标签)
  7. 启动方法通过SSH选择在Unix计算机上启动从属代理(如果尚未选择)
  8. 将完全限定的域名放在" 启动方法"行下显示的" 主机"字段中

关于从站上安装的工具有一些假设.如果您有专门的工具,您可能需要单独安装它们(或者查看在执行之前立即处理移动工具的插件).但是,如果你的节点是由一个模板构建的,模板上有你的所有构建工具(在你的情况下可能是java,ant等),那么这就是你需要做的所有事情.