持续整理更新中
SSH Slaves plugin
https://wiki.jenkins.io/display/JENKINS/SSH+Slaves+plugin
#######################
更新-2020-4-21:
1.26 还叫SSH slave
1.31.2 已经更新为SSH build Agents
https://plugins.jenkins.io/ssh-slaves/
##########################
安装slave 插件
在我们的需求中, build_server ,Test_server 这些不同于master的机器,我们称为节点服务器(node),那么如何将node添加到jenkins 中,以便 master 可以调度。
首先jenkins 需要安装SSH Slaves plugin,一般是默认安装。
系统管理--> 插件管理 --> 已安装 --> SSH slaves (SSH Build Agents)
如果没有安装:
系统管理--> 插件管理 --> 可选插件 --> SSH slaves(SSH Build Agents) --> 安装
配置节点的前提
到jenkins服务器上初始化一次到node 的连接,再到节点页面启动节点。
1. 登录jenkins 服务器,在jenkins 用户下,ssh user@XXX.xx.xx.xx (节点的ip) ,首次登录后jenkins的ssh config有记录从master的jenkins到slave的user的连接的缓存。届时保存节点配置后,直接点击启动代理可成功连接。
2. 确保slave 节点服务器上已安装java 1.8 以上版本
root@tclserver:~# su jenkins jenkins@tclserver:/root$ ssh relmgr@172.0.5.50 relmgr@172.0.5.50's password: Last login: Thu Oct 25 17:44:17 2018 from 172-0-5-243.lightspeed.brhmal.sbcglobal.net [relmgr@huangbei ~]$ java -version openjdk version "1.8.0_31" OpenJDK Runtime Environment (build 1.8.0_31-b13) OpenJDK 64-Bit Server VM (build 25.31-b07, mixed mode)
添加 slave
系统管理--> 节点管理 --> 新建节点 --> 节点名称(填写唯一)-->固有节点 --> ok
配置
名称
是用于唯一标识一个代理的。它不需要和代理的主机名保持一致, 但通常会是相同的。名称不允许包含下列特殊字符: ?*/\%!@#$^&|<>[]:;
并发构建数
这个值控制着Jenkins并发构建的数量. 因此这个值会影响Jenkins系统的负载压力. 使用处理器个数作为其值会是比较好的选择.
增大这个值会使每个构建的运行时间更长,但是这能够增大整体的构建数量,因为当一个项目在等待I/O时它允许CPU去构建另一个项目.
设置这个值为0对于从Jenkins移除一个失效的从节点非常有用,并且不会丢失配置信息。
标签
标记(又叫做标签)用来对多节点分组,标记之间用空格分隔.例如'refression java6'将会把一个节点标记上'regression'和'java6'.
举例来说,如果你有多个Windows系统的构建节点并且你的Job也需要在Windows系统上运行,那么你可以配置所有的Windows系统节点都标记为'windows', 然后把Job也标记为'windows'.这样的话你的Job就不会运行在除了Windows节点以外的其它节点之上了.
用法
控制Jenkins如何在这台机器上安排构建.
尽可能的使用这个节点
这是默认和常用的设置. 在这种模式下,Jenkins会尽可能的使用这个节点.任何时候如果一个构建能使用这个节点构建,那么Jenkins就会使用它.只允许运行绑定到这台机器的Job
这种模式下,Jenkins只会构建哪些分配到这台机器的Job. 这允许一个节点专门保留给某种类型的Job.例如,在Jenkins上连续的执行测试,你可以设置执行者数量为1,那么同一时间就只会有一个构建, 一个实行者不会阻止其它构建,其它构建会在另外的节点运行.
启动方式
这里一般使用Launch slave agents via SSH
保存并启动
保存配置,会自动启动代理,可在左侧查看连接日志。
在job中指定slave
我们需要在job 中配置
General --> 勾选[][限制项目的运行节点] --> 标签表达式 [填写配置节点时使用的标签名] ,如下图
No Leanote account? Sign up now.