Jenkins分布式构建与并行构建

本文详细介绍了Jenkins的分布式构建与并行构建,包括Jenkins的master+agent架构,如何增加agent支持并行构建,如通过JNLP协议和Swarm插件。重点讲述了agent的标签管理、工作目录配置以及在pipeline中使用标签指定构建环境。
摘要由CSDN通过智能技术生成

Jenkins分布式构建与并行构建

jenkins的架构

Jenkins采用的是“master+agent(slave)”架构。Jenkins master负责提供界面、处理HTTP请求及管理构建环境;构建的执行则由Jenkins agent负责

Jenkins agent的横向扩容:只需要增加agent就可以轻松支持更多的项目同时执行

file

• node:节点,指包含Jenkins环境及有能力执行项目的机器。master和agent都被认为是节点。

• executor:执行器,是真正执行项目的单元。一个执行器可以被理解为一个单独的进程(事实上是线程)。在一个节点上可以运行多个执行器。

• agent:代理,在概念上指的是相对于Jenkins master的一种角色,实际上是指运行在机器或容器中的一个程序,它会连接上Jenkins master,并执行Jenkins master分配给它的任务。

增加agent支持并行构建

Jenkins agent作为一个负责执行任务的程序,它需要与Jenkins master建立双向连接。连接方式有多种,这也代表有多种增加agent的方式。

标签是什么

当agent数量变多时,如何知道哪些agent支持JDK 8、哪些agent支持Node.js环境呢?我们可以通过给agent打标签(有时也称为tag)来确定。

同一个agent可以拥有多个标签。在标签名中不能包含空格,也不能包含!、&、|、<、>、(、)这些特殊字符中的任何一个。因为包含特殊字符的标签名与标签表达式(用于过滤agent)冲突。

通过JNLP协议增加agent

Java网络启动协议(JNLP)是一种允许客户端启动托管在远程Web服务器上的应用程序的协议。Jenkins master与agent通过JNLP协议进行通信。而Java Web Start(JWS)可以被理解为JNLP协议的一个客户端。

(1)进入Manage Jenkins→Global Security→TCP port for JNLP配置页面,如图所示。我们可以选择开放固定端口或者随机开放Jenkins master的一个端口来提供JNLP服务。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值