Jenkins 多服务器同时发布(master/slave 方式)

Jenkins 多服务器同时发布(master/slave 方式)

说明

背景

项目为maven项目,需要多台服务器同时通过git获取代码编译后发布,没有做集群等,单纯为了满足代码一致性。

方式选择

在网上看到了很多关于Jenkins多服务发布的文章和视频,基本每个都亲自尝试了,没有发现理想的。
比如说:
1、用ssh插件的方式,个人感觉多个服务器时很麻烦,逻辑写在Jenkins的shell里也不清晰,并且在做修改时不够灵活,比如选择性的发布其中部分节点,需要通过增删脚本的形式。
2、用多节点的方式,尝试了各种方法,没有多节点同时成功过,每次都只能成功一个节点。
3、用Pipeline的方式,真的学习成本有些高,又不是专门做维护,实在不想花时间学Pipeline语法。
F、最后经过测试,选择了用构建一个多配置项目来构建多个项目,能解决以上方式的很多问题,如对部分节点发布,只需要勾选即可,而且多个节点都会成功,还不需要学习新的脚本语言。

项目配置

配置流程

1、先在服务器上配置好maven、git、java环境
2、添加节点
3、配置项目构建
如果构建后需要运行脚本,就提前在服务器上写好,然后配置执行脚本就行了。

添加节点

点击Manage Jenkins,在其中选择Manage Nodes and Clouds
添加节点
点击进去之后看到我这里已经加了除master之外2个节点,继续添加的话,点new node。
添加节点前确保网络通畅。
添加新节点
点击进入之后,填写必要信息
在这里插入图片描述
进入节点配置页面
节点配置页面1
其中有几个注意的点
1、Labels要填写唯一的。如果是实用同其他节点相同label,然后通过指定label的方式会无法同时发布多个节点(不知道是bug还是有哪些地方没有配置对)。
2、Remote root directory 要填写节点服务器中保存Jenkins内容的绝对路径。
3、Usage 选择Only build jobs with label expressions matching this node,只有制定了标签才能发布在此节点,不然默认每个节点都发布了。
节点配置页面2
我这里使用账号密码方式连接服务器,记得要有权限

在这里插入图片描述
下面的环境配置,要指定好在节点服务器内的位置,比如说maven环境、java环境

至此,节点配置完成,保存后jenkins会自动尝试连接,并在节点服务器之前指定的目录下创建JenkinsJob文件夹,此文件夹下存有jenkins运行库和后续使用的工作空间等。

项目创建

选择构建一个多配置项目
构建选择
进入构建目录,下面是基础的配置
截图如下:
git配置,指定对应git地址,和用户信息、分之。
GIT配置
指定节点:这里使用Individual nodes来选择节点,不要选labels(也是未知原因出错,只有一个节点成功)。

build项目,我这边是maven项目,直接用maven打包
maven打包

选择要生成的节点
我这边要做的事情都写在各个服务器的脚本里了,选择构建后执行脚本
执行脚本
PS:在多个节点配置好之后,已有的项目在构建时会找不到在哪个节点运行,需要把之前的项目指定好运行服务器的标签,如下
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值