zoukankan      html  css  js  c++  java
  • 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这个怪蜀黍也在对我微笑了。

  • 相关阅读:
    【缓存】缓存穿透、缓存并发、热点缓存解决方案
    【缓存】redis缓存设计
    【AOP】Spring AOP 和 AspectJ
    disruptor
    Spring Boot application starters
    【日志】log4j2 yml
    PHP中间件--ICE
    docker 简单入门(一)
    redis、memcache和mongodb各自的优缺点是什么
    MYSQL三大范式
  • 原文地址:https://www.cnblogs.com/majestyking/p/10421492.html
Copyright © 2011-2022 走看看