前置条件:节点服务器应与jenkins主服务器环境路径统一,比如:JDK,ant等
jenkins节点配置
进入节点管理界面:系统管理–》管理节点
点击新建节点进入节点配置页
节点名称:建议使用字母、数字或字母和数字的组合。最好见名知意。不建议使用标点符号和中文(中文命名没有问题,但Job中无法引用)
下一步配置
of executors:最大同时构建数量(根据机器的性能定,单颗四核cpu建议不要超过5)【必须为数字】
Remote FS root(远程工作目录):如果目录不存在,会自动创建目录。你必须对该目录有读写权限,不然会报错:hudson.util.IOException2: Failed to copy xxxx
Launch method(启动方法):运行方式有四个选项。建议选择第1、2种方式配置。详细如下:
1、【推荐】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:[可选]不知道干什么用的参数
Suffix Start Slave Command:[可选]不知道干什么用的参数
测试可以使用Unix命令,会自动拼接在[SSH] Starting slave process:[Prefix Start Slave Command] cd ‘/path’ && /path/bin/java -jar slave.jar [Suffix Start Slave Command]
2、【推荐】Launch slave agents via Java Web Start 通过Java Web Start连接节点 (适用于所有支持Java程序的系统)
Tunnel connection through:[可选]在端口转发这种情况下使用
JVM options:[可选]JVM可选参数
这种方法的缺点:如果该节点宕机了,主节点无法自动重启它。
注意:如果找不到该选项,请参考最后的问题解决方法
3、Launch slave via execution of command on the Master 通过主节点的控制台连接节点
在写内容前吐槽一下Jenkins的帮助,说的云里雾里的。应该去看该选项下Launch command的帮助。
Jenkins的开发者考虑到某些企业可能有N++ 个节点(N>=你猜!)。如果在界面配置,那么升级版本之类的操作会很麻烦。所以允许你使用shell脚本去配置管理节点(貌似很方便的样子)。具体的脚本需要你自己写。
Launch command:Unix运行脚本的命令,如:sh aaa.sh
4、【不建议使用】Let Jenkins control this Windows slave as a Windows service 让Jenkins节点添加到Windows服务中
这个选项比Launch slave agents via Java Web Start添加为服务更加稳定(帮助文档是这么说的)。采用这种运行方式,那么这个系统不能登录任何用户。这种配置方式是非常的麻烦和折腾。具体请查看 点我去看帮助
Administrator user name:域\管理员账号
Password:密码
Host:节点主机IP或者域名
Run service as:
Use Local System User:使用本地系统用户
Log on using a different account:使用不同的用户登录
User name:账号
Password:密码
Use Administrator account given above:使用上面的用户登录
Path to java executable:[可选]JDK路径。必须指定到Java程序,如:C:\Windows\system32\java.exe
JVM options:[可选]JVM可选参数
Availability:
1、Keep this slave on-line as much as possible:尽可能保持节点在线【推荐】
2、Take this slave on-line according to a schedule:根据时间表在线(类似于Linux的定时任务)
Startup Schedule:类似于Linux定时任务的时间,如下:
# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)
H 9-16/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *
如果使用 H Jenkins会自动提前一段时间连接节点,避免出现同一时间高并发的问题
Scheduled Uptime:超过任务时间后延迟多少分钟离线。如果此数值大于在线总时间(单位:分),就会一直保持在线【必须为数字】
Keep on-line while jobs are running:当有Job在构建时(到达离线时间了)继续保持在线
3、Take this slave on-line when in demand and off-line when idle:让Jenkins根据需求自动连接或者离线
In demand delay:告诉Jenkins如果有Job需要在此节点构建,需要在任务队列等待多长时间才会进入任务状态进行构建【必须为数字】
Idle delay:告诉Jenkins多少分钟内如果没有Job需要构建就离线【必须为数字】
节点的配置完成后,点击Save保存。进入节点的连接:
1、Launch slave agents on Unix machines via SSH点击保存后会自动连接。
2、Launch slave agents via Java Web Start
有两种连接方式:
Launch agent from browser
载文件slave-agent.jnlp文件,双击打开。一般用在Windows系统上,需要javaws.exe(在Java的bin目录中可以找到)程序才能打开。如果提示错误,请卸载JDK后重新安装。成功启动如下图所示:
点击左上角的File选择Install as a service就可以添加为Windows的服务了(默认开机自动启动)。
Run from agent command line
下载slave.jar到本地,然后进入存放slave.jar的目录,打开cmd,复制粘贴并运行 java -jar slave.jar -jnlpUrl http://xxxxx 即可启动。通常直接把slave.jar文件放到C:\Users\Administrator用户目录下面,这样打开cmd就可以执行了
答疑
1、找不到Launch slave agents via Java Web Start 这个选项
点击系统管理—>Configure Global Security
把禁用换成随机选取或者指定端口就可以
2、两种连接方式的区别: slave-agent.jnlp,slave.jar
slave-agent.jnlp:后台运行
slave.jar:可显示