廊坊市网站建设公司,中国建筑装饰装修网,高端设计机构,软件测评师一.简述#xff1a; Jenkins有一个很强大的功能#xff1a; 即#xff1a;支持分布式构建(jenkins配置中叫节点(node),也被称为slave)。分布式构建通常是用来吸收额外的负载。通过动态添加额外的机器应对构建作业中的高峰期#xff0c;或在特定操作系统或环境运行特定的构建…一.简述 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标记为appserverjob也标记为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进行构建。。