写好了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这个怪蜀黍也在对我微笑了。

Jenkins master slave设置遇到的坑以及解决办法的更多相关文章

  1. Jenkins Master/Slave架构

    原文:http://www.cnblogs.com/itech/archive/2011/11/11/2245849.html 一 Jenkins Master/Slave架构 Master/Slav ...

  2. 基于Kubernetes构建企业Jenkins master/slave CI/CD平台

    搭建平台目的: k8s中搭建jenkins master/slave架构,解决单jenkins执行效率低,资源不足等问题(jenkins master 调度任务到 slave上,并发执行任务,提升任务 ...

  3. ios下元素溢出设置 overflow:auto; 不能滑动解决办法

    ios下元素溢出设置 overflow:auto; 不能滑动解决办法: overflow:auto; overflow-y:scroll; -webkit-overflow-scrolling:tou ...

  4. Jenkins—Master/Slave模式

    Jenkins可部署在windows或者linux平台上,项目系统的用户多数为windows系统.如果Jenkins部署在linux上,而自动化任务要在windows平台执行,那么就需要使用Jenki ...

  5. github + SourceTree管理自己的库并上传到cocoapods及各种坑的解决办法

    一.上传写好的库到github(我这里使用SourceTree客户端) 1.在github上创建一个仓库 2.将仓库拉倒本地 复制仓库地址 将刚才复制的地址粘贴到这里 3.上传项目到github 将写 ...

  6. Hbase出现ERROR: Can't get master address from ZooKeeper; znode data == null解决办法

    问题描述如下: hbase(main)::> list TABLE ERROR: Can't get master address from ZooKeeper; znode data == n ...

  7. Flask(2)- 装饰器的坑及解决办法、flask中的路由/实例化配置/对象配置/蓝图/特殊装饰器(中间件、重定义错误页面)

    一.装饰器的坑以及解决方法 1.使用装饰器装饰两个视图函数,代码如下 from flask import Flask, redirect, render_template, request, sess ...

  8. 记一次开发过程中,iview遇到的一些坑以及解决办法

    写在开头:本次项目采用的是vue2.0+iview3.0,最近公司没啥事,来总结一下开发过程中遇到的问题. 1.Modal关闭问题 需求背景:modal框里面是个form表单,点击确定之后,先验证fo ...

  9. 微信支付之扫码支付开发:我遇到的坑及解决办法(附:Ecshop 微信支付插件)

    前段时间帮一个朋友的基于ecshop开发的商城加入微信扫描支付功能,本以为是很简单的事儿——下载官方sdk或开发帮助文档,按着里面的做就ok了,谁知折腾了两三天的时间才算搞定,中间也带着疑问在网上找了 ...

随机推荐

  1. VS2012统计代码量

    第一步:打开项目 第二步:CTRL+SHIFT+H  选择在文件中查找,输入 表达式:b*[^:b#/]+.*$,如下图所示: 第三步:单击 查找全部 按钮,统计结果如下图所示:

  2. Android memory dump

    1.读取指定pid和内存地址的字符: #include <stdlib.h> #include <stdio.h> #include <string.h> #inc ...

  3. CURL 支持 GET、PUT、POST、DELETE请求

    一个方法解决所有的 curl 请求的问题. <?php function curlTypeData( $method, $url, $data=false, $json=false ) { $d ...

  4. ES - 处理TooManyClause异常

    1.TooManyClause 我们在使用terms query.prefix query.fuzzy query.wildcard query.range query的时候,一不小心就会遇到TooM ...

  5. sql 查询结果转百分比

    select convert(varchar,convert(decimal(10,2),迟到人次*1.0/在校生人数*100))+'%'

  6. 使用Navicat连接阿里云mysql报错10061

    1.添加一个远程访问账号admin mysql> use mysql; mysql> GRANT ALL ON *.* TO 账户@'%' IDENTIFIED BY '密码' WITH ...

  7. 决策树之ID3,C4.5及CART

    决策树的基本认识  决策树学习是应用最广的归纳推理算法之一,是一种逼近离散值函数的方法,年,香农引入了信息熵,将其定义为离散随机事件出现的概率,一个系统越是有序,信息熵就越低,反之一个系统越是混乱,它 ...

  8. vs2015 iis express启动不了及安装DotNetCore.1.0.0-VS2015Tools.Preview2失败的解决方法

    直接用管理员账户打开cmd,进入exe所在的文件夹在运行命令DotNetCore.1.0.0-VS2015Tools.Preview2.exe SKIP_VSU_CHECK=1不要加引号. PS:如果 ...

  9. python-pytest学习

    一:pytest基于unittest之上的单元测试框架1.自动发现测试模块和测试方法:2.断言使用assert+表达式即可:3.可以设置会话级.模块级.类级.函数级的fixtures :数据准备+清理 ...

  10. 用JavaScript制作页面特效

    1.Window对象 名称 history:有关客户访问过的URL的信息 location:有关当前URL的信息 screen:有关客户端的屏幕和显示性能的信息 常用方法 prompt():弹出输入框 ...