Jenkins master slave设置遇到的坑以及解决办法

写好了selenium测试脚本,本地运行没问题,但是现在流行分布式运行,并行执行以显得高大上。

然而,装高大上是要付出代价的。

Selenium Grid 已经完美实现分布式和并行了。

奈何现在会Jenkins就显得牛B了,你不显摆一下jenkins面试官就会觉得你很low.

有些喜欢空谈理论的面试官还特么问你什么是CI 什么是CD。

(呵呵,就不明白了,这些空洞理论上的东西有什么鸟用,你知道CI/CD又如何? 知道了就能写出代码吗?幼稚!)

好吧,你特么喜欢空谈理论,那么陪你吹吹牛也无所谓,不能被理论家看不起。

步入正题,谈谈这些jenkins master-slave配置的坑。

Step 1:在Jenkins的manage node新建一个node,这个node就是一台当作slave机器的电脑,真机虚拟机都行。

建立node只需要取个名字就这么简单,建好之后,这个slave有个红色的X.

因为我们的master机器和slave机器还不能通信。需要对刚才建立的slave节点继续配置。

按照大家的提供的方法,在slave 的lunch method选项里:

应该有 Lanch agen via Java Web Start 这个选项。

然而,我的slave里面并没有这个选项?问题出在哪里?

Step 2: 去 Configure global security [配置全局安全] 里面找到Agents。

可见,默认是disabled,把disbaled改成 random,大神们都是这样干的。

(有埋伏,详见第七步!!!)

Step 3: 回到salve的配置,可见"Lanch agen via Java Web Start"这个选项神奇般的出现了。
惊不惊喜!

Step 4:继续配置,这部不解释,大家都懂。

Step 5:到这一步,slave机器还是有个红色的X。点击这个这个"Lunch"按钮,下载JNLP配置文件。

Step 6:把下载过来的JNLP配置文件拷贝到Slave机器里面去,愉快的运行刚才下载的JNLP配置文件.

Step 7:报错,错在哪?我想到了端口问题,54826这个端口是随机生成的,每次运行JNLP都会随机生成不同的端口。
很明显,这些随机生成的端口被防火墙阻挡了,然而我有不可能把防火墙上所有的端口都打开或者关闭防火墙。
关闭防火墙?纳尼,我的Windows Server 2019 DC才不同意呢。
那么:只能固定端口了。
所以在第二步,那些大神选择 “Random”选项,在这里行不通,得用FIXED固定端口。然后在防火墙里面开发这个端口。

Step 8:在防火墙开放端口后再运行JNLP文件,可见成功"Connected".

Jenkins这个怪蜀黍也在对我微笑了。

猜你喜欢

转载自www.cnblogs.com/majestyking/p/10421492.html
今日推荐