一.简述:
Jenkins有一个很强大的功能: 即:支持分布式构建(jenkins设置中叫节点(node),也被称为slave)。分布式构建通常是用来吸取额外的负载。通过动态添加额外的机器应对构建作业中的高峰期,或在特定操作系统或环境运行特定的构建作业。 这项功能在大中型企业(微服务化)环境中是很紧张的。
二. 关于jenkins master/slave:
分布(master/slave)式构建工作模式是: master负责处理处罚调度构建作业,把构建通过定义的策略分发到slave节点进行实行。监视slave。而且记录和发布构建产物(纵然在一个分布式架构中,master实例也是可以直接实行构建作业的),slave构建的结果和产物会同步到master。
master/slave策略: jenkins在设置管理slave节点时,我们可以针对差别的环境,选择差别的策略进行设置slave节点。通常环境下可以通过以下几种方式:
- #master通过ssh启动slave节点。
- #直接通过终端登录slave,命令行方式启动节点。
- #支持windows。
复制代码 一个node的创建, 是很简单的(原生支持功能)。操作步骤:系统设置-->节点管理-->新增节点:
注: 上图中的jenkins master启动用户,须要和slave的root进行key 认证。
设置简述:
#名字: 节点名称,建议规范化
#of executors: jenkins最大构建并发数。官方建议设置为cpu核数相等。
#标签(labels): 紧张,用于对多节点分组,根据slave的标签和job的标签进行匹配,slave只构建特定的标签任务(如:按项目分(appserver),将slave标记为appserver,job也标记为appserver,如许的话你的Job就不会运行在除了appserver节点以外的别的节点上了),支持多个,用空格隔开。
#用法:两种策略(尽大概使用(默认),和只运行绑定的job),根据差别环境决定.
#启动方法(Launch method):
a). Launch slave agents via SSH:通过SSH通道连接节点(适用于Linux类系统,上图方式)
b). Launch agent via execution of command on the Master:通过主节点的控制台连接节点(须要写script)
c). Let Jenkins control this Windows slave as a Windows service:让Jenkins节点添加到Windows服务中(通常不用吧???)
#Availability:
a). Keep this slave on-line as much as possible:尽大概保持节点在线【保举】
b). Take this slave on-line according to a schedule:根据时间表在线(类似于Linux的定时任务)
c). Take this slave on-line when in demand and off-line when idle:让Jenkins根据需求自动连接或者离线
i). In demand delay:告诉Jenkins如果有Job须要在此节点构建,须要在任务队列等候多长时间才会进入任务状态进行构建
ii). Idle delay:告诉Jenkins多少分钟内如果没有Job须要构建就离线
#Environment variables: 环境变量,构建中使用
#Tool Locations: 工具目次(用于替换系统设置的,如java版本,maven版本)
启动后,slave上应该有一个进程:
- # ps -ef|grep jar
- root 9602 8865 0 16:12 ? 00:00:00 bash -c cd "/home/jenkins_home" && java -jar slave.jar
复制代码 node也可以作为一个参数类型,被 “参数化构建过程”进行调用。 须要安装一个插件:Node and Label parameter plugin
安装后,在创建job时,可选:
Build with Parameters页面显示如下:
可选择详细node进行构建。。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |