一、Jenkins分布式构建
Jenkins支持节点配置,并以主从方式进行节点管理。master节点负责分发任务给slave节点,slave节点则负责执行任务。Jenkins可添加静态节点,也可通过K8S等实现动态增减节点。本文只说明如何通过ssh连接添加Linux节点。
使用场景
- 同一时间有多个构建任务,单节点的Jenkins不足以支撑这些构建需求
- 同一时间需要多台机器来执行Jenkins任务
- 不同的任务需要不同的环境,例如windows系统和linux系统
通过Jenkins分布式构建,可以解决单点构建任务多、负载高、性能不足、多平台的问题。
Slave节点环境要求
slave节点服务器不需要安装Jenkins,但需满足以下要求
- master节点和slave节点可以通信
- master节点可通过ssh登录slave
如果项目执行需要java、git等工具和环境,Jenkins首先会使用slave服务器上的环境,如果不存在,则会使用master上的工具和环境。然后slave配置环境和工具时,路径最好与master上的一致。
二、 添加步骤
2.1新建节点
系统管理→管理节点→新建节点

选择固定节点,填写节点名称

2.2节点配置

启动方式选择“Launch agents via SSH”后,需要填写主机IP与信用凭证。我的slave服务器需要通过私钥才能访问,所以按照以下方式添加凭据。


点击保存,节点配置完成
2.3连接代理
节点配置完成后,进入该节点。点击“启动代理”按钮即可完成连接。
若连接失败,点击“日志”查看具体信息,一般可能出现的问题有,没有给salve的jenkins目录给够权限。

三、代理节点的使用
3.1freestyle项目
添加一个freestyle类型的项目,general→限制项目运行的节点

3.2 pipeline
添加流水线项目,在pipeline命令中使用agent-lable指定节点

也可以使用agent-docker-lable指定执行环境

网友评论