【背景】
由于公司层面没有统一的配置管理人员以及环境维护人员,两个主要研发部门AB的环境更新维护都相互独立,各有一套Jenkins平台。A部门的所有环境全部都是基于linux服务器,Jenkins平台也是搭建在linux服务器上。B部门的环境是基于windows服务器,其Jenkins平台也是搭建windows服务器上。
现考虑把B部门Jenkins上配置的JOB都转移到A部门的Jenkins平台上。需要解决原B部门Jenkins平台上的构建任务配置的“execute windows batch command”能顺利在A部门Jenkins平台执行。
处理方案是把原B部门Jenkins平台所部署在的windows服务器X配置成A部门Jenkins平台的从节点,然后把从B部门Jenkins平台移植过来的构建任务配置成只在从节点执行构建。
过-于-拗-口
【正文】
1、配置windows管理节点
登陆Jenkins平台进入“Manage Jenkins(系统管理)-Manage Nodes and Clouds(管理节点)”,新建节点。记得贴个标签,比如“for_windows”。
填写节点信息,信息如下:
PS:如果“启动方式”没有“通过Java Web启动代理”选项,则需要在“Manage Jenkins系统管理-Configure Global Security(全局安全配置)”中修改如下两项配置:
①1把 “JNLP代理协议的TCP端口” 配置成 “随机选取”;
②点开“代理协议”,勾选“Java Web Start Agent Protocol/4(TLS加密)”。
重启生效。
2、连接从节点
新增后可以看到节点处于未连接状态,下方提示了两种连接方式。
前提都是要把一串密钥存到之前配置的工作目录下。
方法一:点击【lanch】按钮,下载一个slave-agent.jnlp文件放到从节点windows服务器上,双击启动(需要jdk环境)。
方法二:下载agent.jar(蓝色字体链接),在从节点windows服务器执行“java -jar……”指令。
3、配置job在从节点构建
在构建任务通用设置中勾选“限制项目运行节点”,然后把节点标签写上,比如上面配的“for_windows”。
【结语】
1)还有一种更常见的情况也适用于添加构建从节点,就是当构建任务过多,构建队列太长时,通过增加从节点分担构建压力,提高更新效率。(以前在大厂见识过一到点几十个任务排队等着构建,都盯着队列里自己的任务盼着能早点更新……)
2)实际情况是技术问题克服了,但是B部门不想提供X服务器的凭证,并且委婉拒绝Jenkins合并管理。(没错我是A部门的)
二狗你好,二狗再见