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

Jenkins master slave设置遇到的坑以及解决办法的更多相关文章
- Jenkins Master/Slave架构
原文:http://www.cnblogs.com/itech/archive/2011/11/11/2245849.html 一 Jenkins Master/Slave架构 Master/Slav ...
- 基于Kubernetes构建企业Jenkins master/slave CI/CD平台
搭建平台目的: k8s中搭建jenkins master/slave架构,解决单jenkins执行效率低,资源不足等问题(jenkins master 调度任务到 slave上,并发执行任务,提升任务 ...
- ios下元素溢出设置 overflow:auto; 不能滑动解决办法
ios下元素溢出设置 overflow:auto; 不能滑动解决办法: overflow:auto; overflow-y:scroll; -webkit-overflow-scrolling:tou ...
- Jenkins—Master/Slave模式
Jenkins可部署在windows或者linux平台上,项目系统的用户多数为windows系统.如果Jenkins部署在linux上,而自动化任务要在windows平台执行,那么就需要使用Jenki ...
- github + SourceTree管理自己的库并上传到cocoapods及各种坑的解决办法
一.上传写好的库到github(我这里使用SourceTree客户端) 1.在github上创建一个仓库 2.将仓库拉倒本地 复制仓库地址 将刚才复制的地址粘贴到这里 3.上传项目到github 将写 ...
- 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 ...
- Flask(2)- 装饰器的坑及解决办法、flask中的路由/实例化配置/对象配置/蓝图/特殊装饰器(中间件、重定义错误页面)
一.装饰器的坑以及解决方法 1.使用装饰器装饰两个视图函数,代码如下 from flask import Flask, redirect, render_template, request, sess ...
- 记一次开发过程中,iview遇到的一些坑以及解决办法
写在开头:本次项目采用的是vue2.0+iview3.0,最近公司没啥事,来总结一下开发过程中遇到的问题. 1.Modal关闭问题 需求背景:modal框里面是个form表单,点击确定之后,先验证fo ...
- 微信支付之扫码支付开发:我遇到的坑及解决办法(附:Ecshop 微信支付插件)
前段时间帮一个朋友的基于ecshop开发的商城加入微信扫描支付功能,本以为是很简单的事儿——下载官方sdk或开发帮助文档,按着里面的做就ok了,谁知折腾了两三天的时间才算搞定,中间也带着疑问在网上找了 ...
随机推荐
- 安卓APP环境搭建
https://www.cocos.com/creator 下载2.0.8 安装的时候选择原生环境 下载SDK:http://tools.android-studio.org/index.php/sd ...
- 未来-区块链-Aliyun:阿里云IoT - 所知不止于感知
ylbtech-未来-区块链-Aliyun:阿里云IoT - 所知不止于感知 1.返回顶部 1. 基础产品接入 设备接入 设备管理 数据分析 应用开发 网络管理 边缘计算 设备认证 安全运营 AliO ...
- 从容器里dump java堆实验探索(原创)
目标:从docker容器里dump java堆 模拟程序 占用空间500M, 设置启动JVM参数 docker启动命令 (PS:经过测试,至少要650M才能启动容器) 方式1: 通过docker ex ...
- Python【每日一问】13
问:请简述一下python的GIL 答:GIL 锁,全局解释器锁,仅在CPython解释器中,作用就是,限制多线程同时执行,保证同一时间内只有一个线程在执行.
- 嵌入式 printf函数
来自:https://www.cnblogs.com/02xiaoma/archive/2012/06/22/2558618.html #include <stdio.h> #includ ...
- localStorage sessionStorage 用法
sessionStorage.getItem('key') // 获取 sessionStorage.setItem('key','value') //设置 sessionStorage.remove ...
- Python全栈开发记录_第五篇(装饰器)
单独记录装饰器这个知识点是因为这个知识点是非常重要的,必须掌握的(代码大约150行). 了解装饰器之前要知道三个知识点 作用域,上一篇讲到过顺序是L->E->G->B 高阶函数: 满 ...
- 域名动态解析到动态IP
一般宽带用户的IP都是动态IP,重连之后IP可能会发生变化. 如果想在其他地方连接家里的设备,或者在家中搭建服务器,就会受到影响. 现在提供一种动态解析域名的方式,只要检测到IP的变化,那么就调用阿里 ...
- Struts2高位漏洞升级到struts2.3.32
Struts2高位漏洞升级到struts2.3.32 3月7日带来了一个高危漏洞Struts2漏洞——CVE编号CVE-2017-5638.其原因是由于Apache Struts2的Jakarta M ...
- Linux部署笔记分享
# Linux部署 ## 安装lrzsz1. 安装lrzsz: yum -y install lrzsz2. 进入tmp目录3. rz 上传安装文件 jdk-8u65-linux-x64.tar.gz ...