前言
Jenkins支持分布式构建,可以配置多个slave节点,让任务跑在不同的机器上。
节点管理
所有节点机器用到的Jdk, Git等环境的路径需要统一,安装位置和Jenkins所在服务器的位置保持一致,以便于管理。
新建节点
系统管理 -> 管理节点, 点击页面左上角的新建节点按钮,输入节点名称,我通常习惯以节点机器的IP来命名,比如192.168.1.100,Dump选项为新建一个节点,复制现有节点就是复制一个已经存在的节点的配置。
配置中的具体参数如下:
of executors:4 # 这个值控制Jenkins并发构建的数量
远程工作目录: /home/qa/ci/ # Jenkins作为节点机器的工作目录
用法:只允许运行绑定到这台机器的Job
启动方式:
Launch slave agents on unix machines via ssh
Avaliability:keep this slave on-line as much as possible # 控制节点的使用方式
新建节点成功后,在列表页可以看节点的当前状态,如果名称的图标上有红色的小差,说明该节点未连接上
启动方式的区别
- Launch slave agents on unix machines via ssh
- 在unix机器上通过ssh方式进行连接
- Launch slave agents via java web start
- 以java web的方式进行启动
- Launch slave via execution of command on the master
- Let Jenkins control this windows slave as windows service
- 以windows service方式在windows机器上运行,如果选择这种方式,新建节点成功后,需要在节点页面上下载slave-agent.jnlp文件,并在对应的节点机器上启动
使用哪种方式和agent之间进行交互根据具体的使用场景来决定。
设置任务在哪个节点执行
进入Job的新增或者编辑页面,有一个选项 restrict where this project can be run
,在Label Expression中输入对应的节点名称保存即可