Jenkins:管理节点
Jenkins 管理节点
是管理所有即将在其上执行任务(JOB)的slave机器,包括各种OS类型的主机,都可以作为节点,因为Jenkins是java实现的,所以能安装JVM的OS都可以作为Jenkins的slave节点,甚至Android等嵌入式系统。
Jenkins管理间的打开位置
可以从Jenkins的主菜单:Jenkins > 系统管理 > 管理节点打开,或 左侧的执行状态栏,打开已启用的节点,或其他引用slave node的地方。
下图为管理节点的页面:
图回去再补。
图1
新建节点
在管理节点页面,点击右侧“新建”。
图2
删除节点
在管理节点页面,点击要删除的节点的右侧弹出下拉菜单,点“delete agent”。
图3
配置节点显示列表
在图3中,点击“配置从节点”链接,或点击某个节点,右侧的齿轮图标,进入这个节点的配置页面。
查看节点状态
在管理节点页中,或者左侧节点列表中,打小红叉的就是离线的节点。
自动刷新状态,点击“管理节点”页面右上角的“允许自动刷新”;手动刷新,点击右下角“刷新状态”。
管理节点页面的配置
在管理页面中点击左侧的“配置”链接,进入管理节点的配置页面,主要是些控制节点列表的显示列的显示选项。
architecture:节点的os类型,cpu类型
clock Difference:显示master和slave的时间差。虽然Jenkins可以容忍时间差,但是易产生奇怪的问题。
Free Disk Spack:显示当前$JENKINS_HOME 所在磁盘的可用空间。可以设置最小可用空间,若低于这个值,则Jenkins将slave标记为offline。如果这个目录满了,所有构建中的任务都会失败。
一般填写一个数字+单位(K/M/G),如2.5G
Free Swap Sapce:显示当前可用虚拟内存页大小。
Free Temp Space:显示临时目录的磁盘最小可用空间,同上,低于配置的值也是标记为offline。它可以检查由java.io.tmpdir属性配置的目录的分区的可用空间。要看java.io.tmpdir配的目录在哪儿,可以查看/aaaa/computer/SLAVENAME/systemInfo文件。
Response Time:显示从master到agent的时间。master会发生no-op命令给agent,然后agent返回no-op的响应结果。超过响应时间,也会标记为offline。
本节将重点讲解节点的配置页面中的各种选项。
配置从节点
Name:建议使用字母、数字或字母和数字的组合。最好见名知意。不建议使用标点符号和中文(中文命名没有问题,但Job中无法引用)
描述:节点描述,支持中文
# of executors:并发执行JOB数。0,禁用节点。>0,并发数。
远程工作目录:节点的根目录(注意:如果目录不存在,会自动创建目录。你必须对该目录有读写权限,不然会报错:hudson.util.IOException2: Failed to copy xxxx)
标签:标记(又叫做标签)用来对多节点分组,标记之间用空格分隔.例如'refression java6'将会把一个节点标记上'regression'和'java6'.
举例来说,如果你有多个Windows系统的构建节点并且你的Job也需要在Windows系统上运行,那么你可以配置所有的Windows系统节点都标记为'windows', 然后把Job也标记为'windows'.这样的话你的Job就不会运行在除了Windows节点以外的其它节点之上了.
用法:尽可能的使用这个节点/只允许运行绑定到这台机器的Job(根据你的需求,二选一)
启动方法:四种。
方式一:(推荐)Launch slave agents via Java Web Start
通过Java Web Start连接节点 (适用于所有支持Java程序的系统,一般windows系统多用这种方法)
Tunnel connection through:转发主机和端口。对于因为安全或者负载平衡等原因,而导致master和agent间不可达时,配置一个路由主机和端口,转发连接请求。[可选]在端口转发这种情况下使用。
填写格式: "HOST:PORT", ":PORT", or "HOST:"。
JVM options:[可选]JVM可选参数
这种方法的缺点:如果该节点宕机了,主节点无法自动重启它。
方式二:(推荐)Launch slave agents on Unix machines via SSH
在Unix(包括Linux)机器上通过SSH通道连接节点 (适用于Unix和Linux)
Host:节点主机的ip地址
Credentials:凭据(如果为空或者不可选择,请在系统管理→Manage Credentials中配置。Manage Credentials的配置非常简单,这里就不在描述了。Manage Credentials配置完成后,需刷新节点配置页面才会显示。)
Port:端口默认22
JavaPath:[可选]JDK路径,默认和master节点相同。路径必须指定到Java程序,如:/path/bin/java
JVM Options:[可选]JVM可选参数
Prefix Start Slave Command:[可选]加在启动命令( launch slave.jar )前的命令;
Suffix Start Slave Command:[可选]跟在启动命令( launch slave.jar )后的命令。 实际的启动命令是:启动前缀命令+ launch slave.jar +启动后缀命令。
测试可以使用Unix命令,会自动拼接在[SSH] Starting slave process:[Prefix Start Slave Command] cd '/path' && /path/bin/java -jar slave.jar [Suffix Start Slave Command]
方式三:Let Jenkins control this Windows slave as a Windows service
方式四:Launch agent via execution of command on the master
Availability:
Node Properties:
[ ] Environment variables:配置环境变量(可以在脚本中引用,好方便啊
[ ] Prepare jobs environment
[ ] Tool Locations:工具的目录,推荐。说明:可以替换系统设置的各种工具目录。如:JDK目录、Ant目录、Maven目录等。好处就是在不更改Job配置的情况下,不同环境(如:Windows和Linux) Job配置通用。好方便啊
如何...?
如何重装windows agent服务?
从jenkins节点网页中,下载slave-agent.jnlp文件,然后执行。显示jenkins agent窗口,然后,点击“File-install as service”。如果没有本机没有安装过,则会直接安装成功。如果已安装过,会提示“已安装,请删除服务”。
删除服务可以用 sc delete “服务名”完成。然后,在执行“File-install as service”即可。