两种常见挂载Jenkins slave节点的方法

1、挂载slave节点的方法
在Jenkins的Master上,进入Mange node页面,可以管理node节点,例如新加、删除等操作。
其中,

Name是节点名字; 
Description是节点描述; 
// of executors是该节点可以同时运行job的数量; 
Remote root directory主要是添加了workspace的目录; 
Label是该节点的标签名,在运行job的时候,可以使用该标签指定job运行的node; 
Usage是你如何使用该节点,通常选择Utilize this node as much as possible,即尽量使用该节点。 
Lance method:是将该node挂载到master上的方法。这里有四个选项,常用的是前两选项,即“Launch slave agents on Unix machine via SSH”和“Launch slave agents via Java Web Start”。本文将详细介绍这两种挂载node的方法。 
Availability是你何时连接该节点。通常选择一直连接即可,即“Keep this slave on-line as much as possible”。

2、通过SSH连接node

关于SSH连接slave,jenkins有如下描述:

Launch slave agents on Unix machines via SSH 
Starts a slave by sending commands over a secure SSH connection. The slave needs to be reachable from the master, and you will have to supply an account that can log in on the target machine. No root privileges are required.

这段描述的意思是说,选择此种方式连接时,master和slave必须是能够通过ssh进行连接的,必须有slave机器的账号才行,但不要求必须是root账号。
这种方式的前提是需要安装SSH Slaves plugin插件。
这种方式的步骤如下:

1、输入slave节点的IP。 
2、Add Credentials: 
有如下两种方式: 
1)通过Username with password方式 
需要知道slave机器的用户名和密码2)通过SSH Username with private key方式 
需要先在master机器上生成ssh key pair。生成的 public key放到slave机器的 ~/.ssh/authorized_keys里面。然后chmod 600 ~/.ssh/authorized_keys。 
然后,添加连接slave的credential,

这两种方式的Scope选项,我选择的是System,表示这个Credentials仅仅是用来master和node进行连接用的。还有另外一种是“Global(Jenkins、nodes、items、child items)”,这种scope的Credential可以用来连接git等其他机器。具体选择哪种scope,根据自己的需要。就连接slave这个需求来说,哪种scope的credential都可以。
Username填写在master上生成key pair时使用的用户名。
Private key选择From the jenkins master ~/.ssh
【扩展知识】
Jenkins的SSH Credentials Plugin插件,可以集中管理这些ssh 的key。安装完这个插件,可以在Jenkins上看到这样的页面

这个页面可以对credentials进行添加、删除、修改等操作。在这里设置的credentials在jenkins的其他需要credentials的地方,可以通过下拉菜单选择使用,比如添加slave时,可以直接在Credentials下拉菜单里选择对应的credential就行:

还有git clone代码时:

此时一定要把在master上生成的 public key添加到github账号的的Profile setting页面里的SSH Keys Settings中。

3、通过JNLP连接node

关于这种方式jenkins有如下描述:

Launch slave agents via Java Web Start 
Starts a slave by launching an agent program through JNLP. The launch in this case is initiated by the slave, thus slaves need not be IP reachable from the master (e.g. behind the firewall.) It is still possible to start a launch without GUI, for example as a Windows service.

这段话的意思是说,JNLP方式连接salve,不需要master必须能够ssh连接到slave,只需要两者能够ping通即可。

接下来的任务是将该节点连到master上。与ssh方式是master主动连接slave不同,这种JNLP方式是slave主动连接master。
登陆到slave机器上,运行上图中的java -jar 命令,即可将slave连接到master上了。
,自动重启。
脚本地址:
https://github.com/liuchunming033/setup_jenkins_slave
参考资料
http://www.nerdnuts.com/2014/06/jenkins-managing-ssh-keys/

转载于:https://www.cnblogs.com/flyhgx/p/8819498.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下makefile中cp,make与makefile 的理解

当我们写程序过程中存在多个文件之间有复杂的包含关系时,若修改了其中一个源文件,就重新编译所有文件,一般是不必要的,并且当文件很多时,就显得非常笨拙。所有包含该文件的文件需要重新编译,而其它无关系的…

spinlock与linux内核调度的关系

作者:刘洪涛,华清远见嵌入式学院高级讲师,ARM公司授权ATC讲师。 关于自旋锁用法介绍的文章,已经有很多,但有些细节的地方点的还不够透。我这里就把我个人认为大家容易有疑问的地方拿出来讨论一下。 一、自旋锁&#x…

Python参数类型

位置参数默认参数可变参数命名关键字参数关键字参数1 def position_only(a, b):2 print(a, b)3 4 def keyword(aa, bb):5 print(a, b)6 7 def arg(a, *args):8 print(a, args)9 10 def kw(a, **kwargs): 11 print(a, kwargs) 12 13 def many1(a, b, cc, *arg…

keil用c语言怎么编辑器,用keil软件编写单片机程序的步骤

猜你感兴趣:新手教程:单片机的学习实践步骤运用单片机便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及完成各种功用的程序编制。 运用按钮输入信号,发光二极管显…

24c语言程序设计是啥,《C语言程序设计》作业答案.docx

精心整理《 C 语言程序设计》作业答案1.第 4题以下程序的输出结果是______。main(){intn[3][3],i,j;精心整理for(i0;ifor(j0;jfor(i0;ifor(j0;j)n[i1][j1]n[i][j];printf("%d\n",n[i][j]);---来源网络,仅供分享学习2/145精心整理}A.14B.0C.6D.…

体重 年龄 性别 身高 预测鞋码_【新手扫盲】身高体重性别年龄身体素质影响玩滑板吗?...

很多新手在迈入滑板大门之前都会有诸多顾虑,以为滑板跟其他运动一样,门槛很高我想说,滑板是项自由友好的运动下到3岁小宝宝,上到60岁以上老人只要你想玩,那就可以参与进来没有任何因素能阻止你玩滑板1、你比他高吗&…

c语言读入文件排序,帮忙-如何对文件排序啊

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼楼主加分哦,看看吧#include #include //#include #include #include using namespace std;void dfsFolder(string folderPath){ _finddata_t FileInfo; string strfind folderPath "\\*.*"; long Handle _…

html5点击按钮出现弹窗 怎么实现_HTML5游戏开发过程中的二三事

文/ Luiu最近跟的一款项目是HTML5手游,在这个项目中遇到并解决了诸多问题,也学习到了很多项目开发过程中需要注意的事情。这个项目自立项到现在已经过了5个多月,如今项目研发已经过了早期的忙乱阶段,于是借此机会梳理下思绪&#…

HDU 2063 过山车【二分图最大匹配】

Problem DescriptionRPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有…

c语言编写贪吃蛇代码无错,刚学C语言,想写一个贪吃蛇的代码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include#include#includetypedef struct snake{int a;int b;struct snake *u;struct snake *n;}snake,*snake1;typedef struct food{int a;int b;}food;void main(){char c,c0 d;int i,j,k,n1,t,at;snake p,q;snake *dd,…

blockchain_eth客户端安装 geth使用 批量转账(二)

回顾一下,前面我们讲到启动geth geth --rpc --datadir "F:/geth/Geth/" --light console 2>console.log 这一篇接着上面讲geth的使用,分为4个部分 1、创建账户 2、验证区块是否更新完毕 3、解锁账户 4、转账 此时进入到命令行模式 1、首先&…

CGContextAddLines和CGContextAddLineToPoint在线条半透明时候的区别

这两种都可以用来画线&#xff0c;前一种将整条线加入后画出&#xff0c;后一种对每个点进行和前一个点的连线。 sample1-(void)drawLine:(YJLines *)line{ int count [line.points count]; CGPoint addLines[count]; for (int j0; j< [line.points count]; j) { CGPoint …

android xml获取指定,android:如何从xml文件中获取信息?

我得到一个程序&#xff0c;从一个链接的服务器获取天气。我已经做了一些将字符串结合到URL的字符串。我现在需要从XML文件中获取信息。android&#xff1a;如何从xml文件中获取信息&#xff1f;这是我的代码&#xff1a;(我更换了&#xff0c;为了安全起见API KEY)package com…

科研入门之在web of science

ISI Web of Science是全球最大、覆盖学科最多的综合性学术信息资源&#xff0c;收录了自然科学、工程技术、生物医学等各个研究领域最具影响力的超过8700多种核心学术期刊。利用Web of Science丰富而强大的检索功能-普通检索、被引文献检索、化学结构检索&#xff0c;可以方便快…

手动生成 XML

2019独角兽企业重金招聘Python工程师标准>>> private void Button1_Click(object sender, System.EventArgs e) { //创建新的xml XmlDocument doc new XmlDocument(); doc.LoadXml("<company></company>"); //设置版本信息 XmlDeclaration x…

android 资源如何下沉,个推安卓手机报告: 华为一路领跑,OV下沉市场表现不俗

近日&#xff0c;国内专业的数据智能服务商个推(股票代码&#xff1a;每日互动 300766.sz)发布《 2019 年度安卓智能手机报告》&#xff0c;对华为、小米、OPPO、vivo、三星等国内主要智能手机品牌进行盘点。数据显示&#xff0c;华为手机 2019 年表现不俗&#xff0c;不仅以25…

序列化shelve模块

1.shelve对pickle进行封装&#xff0c;所以shelve也只能在python里使用。 shelve可以进行多次dump而且顺序不会乱。 import shelvef shelve.open(shelve_test) #打开文件方式和json&#xff0c;pickle不同。names [li,xiao,xiao,ali,lucas] dicts {lucy:1,liming:2,casio…

for循环执行 mybatis_mybatis sql循环的使用

foreach的主要用在构建in条件中&#xff0c;它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item&#xff0c;index&#xff0c;collection&#xff0c;open&#xff0c;separator&#xff0c;close。item表示集合中每一个元素进行迭代时的别名&#xff0c;index…

jQuery EasyUI API 中文文档 - 微调器(Spinner)

Spinner 微调器扩展自 $.fn.validatebox.defaults&#xff0c;用 $.fn.spinner.defaults 重写了 defaults。依赖validatebox用法1. <input id"ss" value"2"> 1. $(#ss).spinner({ 2. required:true, 3. increment:10 4. }); 特性其特…

android reboot 定时重启可靠吗,请教一下有人做过安卓系统 reboot 重启之后,appium 能自动重新连接吗...

就是我用 adb 的命令重启手机&#xff0c;然后 usb 是一直连着的&#xff0c;重启之后&#xff0c;我想做尝试能让 appium 自动重新连接尝试过先让driver.quit(); //driver 先退出Thread.sleep(40000)&#xff1b;线程等待&#xff0c;但是还没到 40 秒就报错了org.openqa.sele…