Jenkins—Master/Slave模式
Jenkins可部署在windows或者linux平台上,项目系统的用户多数为windows系统。如果Jenkins部署在linux上,而自动化任务要在windows平台执行,那么就需要使用Jenkins的master/slave模式了。
一、Master/Slave模式
Jenkins有非常丰富的插件,可以做很多事情,而部署Jenkins的服务配置性能是有限的,当Jenkins要完成上百个任务时,就会占用非常多的资源,甚至有些资源之间是有冲突的,所以为了分担Jenkins服务器的压力,引入了master/slave模式。
- master:Jenkins服务器。主要负责UI展示、任务调度、系统管理工作
- slave:执行机(奴隶机)。主要执行master分配的任务,并返回任务的进度和结果
类似于我们在职场中的“主管-小弟”模式,主管可以接上级的各种任务,并将任务分派到各位小弟手中,跟踪各位小弟的任务进展和任务结果
一个master + 多个slave = 一个主管 + 多个小弟
二、Master上添加执行机
1.以系统管理员的账号登录Jenkins系统
进入Manage Jenkins—>Manage Nodes:
2.开启JAVA Web启动代理
进入Manage Jenkins—>Configure Global Security:
开启后,保存
3.添加一个新的节点
4.配置节点信息
5.保存配置
保存后,在节点列表中,可以看到此节点,并且右下角有个红色的叉,表示slave执行机尚未与master主机连接
三、slave机向master主机注册
在slave机的浏览器当中,访问master的Jenkins地址,点击下图中的slave机名字,可以进入执行机页面
以windows为例,在执行机页面中,点击Launch图标,会下载slave-agent.jnlp
双击slave-agent,jnlp,弹出下图,点击运行
windows出现下图弹框,说明已经与master主机连接成功
在浏览器刷新一下执行机页面,会自动显示已经连接的状态
四、集成自动化项目
配置好执行机之后,接下来我们就可以使用slave机执行自动化任务了,在Job的配置中,General选项勾选 限制项目的运行节点(Resrict where this project can be run),在 标签表达式(Label Expression)中输入执行机名字或者标签名来指定当前任务由哪个slave执行机来执行,后续的构建内容全部都是在此执行机上执行,因此该执行机必须具备执行此任务的能力,即执行机机器上必须有运行自动化脚本的环境
Jenkins—Master/Slave模式的更多相关文章
- jenkins master/slave模式
master是主机,只有master装jenkins slave是小弟机无需装jenkins,主要执行master分配的任务 一.新建slave 1.新建slave的方法:点击magian jenki ...
- jenkins的Master/Slave模式
一. Master/Slave模式 分担jenkins服务器的压力,任务分配到其它执行机来执行 Master:Jenkins服务器 Slave:执行机(奴隶机).执行Master分配的任务,并返回任务 ...
- 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上,并发执行任务,提升任务 ...
- ActiveMQ集群支持Master/Slave模式
现在ActiveMQ, 在Failover方面有两种解决方案:Pure Master Slave和Shared File System Master Slave. 先看Pure Master ...
- MySQL master/slave 模式
1 .复制 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的 数据复制到其它主机(slaves)上,并重 ...
- Jenkins master slave设置遇到的坑以及解决办法
写好了selenium测试脚本,本地运行没问题,但是现在流行分布式运行,并行执行以显得高大上. 然而,装高大上是要付出代价的. Selenium Grid 已经完美实现分布式和并行了. 奈何现在会Je ...
- Jenkins设置Master/Slave
说明:通过master/slave模式,可以在master节点上统一管理其他slave节点. 下面说明一步步实现master/slave模式. 第一步:以管理员登录jenkins.点击"系统 ...
- hadoop的master和slave模式
hadoop的集群是基于master/slave模式. namenode和jobtracker属于master,datanode和tasktracker属于slave,master只有一个,而slav ...
随机推荐
- 实训第六天(mybatis)
今天实训第六天,我们学习了mybatis这个数据库框架,虽然说框架的环境搭建非常的繁琐,但是在了解原理和流程之后是非常的舒服的.因为有一个强大的工具被我掌握了,所以今天感觉非常的开心. 首先我们是在s ...
- Docker-compose安装和应用
安装 1.为什么要使用docker-compose? 使用 Docker Compose 可以轻松.高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具 2.其他前置条件需要 ...
- java之类的构造方法
构造器的特征: 具有和类相同的名称: 不声明返回值的类型: 不能被static.final.synchronized.abstract.native修饰,不能有return语句返回值: 构造器的作用: ...
- 【学习笔记】C/C++
1. C语言中的 scanf() 函数 该函数包含在头文件 <stdio.h> 或者 <cstdio> (在C++中使用时) 函数的返回值指的是 所输入的数据与格式字符串匹配的 ...
- lxml导入
通常的导入方式 from lxml import etree python有自带的ElementTree库,但lxml在其基础上新增了特有的功能 如果代码仅使用ElementTree API,不依赖于 ...
- (五十六)c#Winform自定义控件-瓶子(工业)-HZHControls
官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...
- Python爬虫实战教程:爬取网易新闻
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: Amauri PS:如有需要Python学习资料的小伙伴可以加点击 ...
- GO-&获取地址与*解引用
&变量 获取变量在内存空间的地址 *变量地址 获取变量的值 一.普通数据 package main import "fmt" func main(){ b :=1111 c ...
- python自带编译器在写入文件时闪退,或者一步步执行到写入时提示8170。解决办法:
用python黑框运行程序写入文件时闪退,或一行行运行到写入时提示8170数字. 经试验,为文件路径错误导致. with open("1.doc", "wb") ...
- 【React Native】react-native之集成支付宝支付、微信支付
一.在使用支付宝支付.微信支付之前导入桥接好的头文件 github地址:https://github.com/xujianfu/react-native-pay 二.集成支付宝支付流程 RN支付宝需要 ...