java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > jenkins-node节点配置

jenkins-node节点配置方式解读

作者:运维经纬(公众号)

Jenkins通过主从节点实现分布式构建,支持负载均衡和特定环境任务,配置包括标签匹配、启动方式、环境变量及工具管理,可参数化选择节点执行

简述

Jenkins有一个很强大的功能: 即:支持分布式构建(jenkins配置中叫节点(node),也被称为slave)。

分布式构建通常是用来吸收额外的负载。

通过动态添加额外的机器应对构建作业中的高峰期,或在特定操作系统或环境运行特定的构建作业。

这项功能在大中型企业(微服务化)环境中是很重要的。

关于jenkins master/slave

分布(master/slave)式构建工作模式是:

master/slave策略:  

通常情况下可以通过以下几种方式:

一个node的创建, 是很简单的(原生支持功能)。

注: 上图中的jenkins master启动用户,需要和slave的root进行key 认证。 

配置简述:

用法:

两种策略(尽可能使用(默认),和只运行绑定的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需要构建就离线

启动后,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

 可选择具体node进行构建。。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文