配置Jenkins的slave节点的详细步骤适合windows等其他平台(转)

@  新建一个slave节点在Jenkins服务器上                                                 

1,进入Jenkins的主界面,进入“Manage Jenkins” 页面;

2,点击如下图中的“Manage  Nodes”:

3,进入页面后点击“New Nodes”链接,直接选择新建一个“Dumb Slave” 点击保存即可;

4,配置刚刚新建的这个slave的相关信息,打开这个slave进入configuration界面:

上面中的只有一个需要强调了,就是“Launch method”,我们这里选择的是 “Launch slave agent via java Web Start ”,这个方式建议在windows上使用最好。下面的介绍也是针对的这种launch模式的。

关于这个配置slave的详细步骤如果需要的话可以在这个地方找到详细的操作步骤:https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines  (这个可以说是官方的最权限的guideline)。

这里推荐下:An easy way to control a Windows slave is by using Launch slave agents via Java Web Start  (Recommended for Windows)

#     Slave远程机器的配置细节                                                                  

1,进入需要控制的远程机器上,一定要进入远程的slave机器,而不是你的master机器。输入对应的你的jenkins的地址,例如这里:

http://16.158.69.53:9999/jenkins/computer/

点击进入对应的该slave机器的图标进入:此时可能会报一些错误,不用管。

点击图中的launch按钮,他会提示你下载该文件slave-agent.jnlp.按照提示下载该文件,并保存在本地。我们这里需要确认两个问题是否存在:

问题一,确认slave-agent.jnlp 是用javaws来运行的,而不是java.exe 或者是javaw.exe来运行,因为一般的机器默认是采用java.exe启动的。我曾经因为这个问题折腾了好久。

问题二,将slave-agent.jnlp用notepad打开后,确认其中的URL是可用的Jenkins地址。其中的配置可能是这样的:

<jnlp spec="1.0+" codebase="http://16.158.69.53:9999/jenkins/computer/irshost12.tc.tb.com/">
<information>
<title>Slave Agent for irshost12.tc.tb.com</title>
<vendor>Jenkins project</vendor>
<homepage href="https://jenkins-ci.org/"/>
</information>
<security><all-permissions/></security>
<resources><j2se version="1.5+"/><jar href="http://16.158.69.53:9999/jenkins/jnlpJars/remoting.jar"/><property name="hudson.showWindowsServiceInstallLink" value="true"/>
</resources><application-desc main-class="hudson.remoting.jnlp.Main">
<argument>60c101541d377ad629da21b37c24cd6227edef74b97ff663c5b09e261ac2d5d6</argument><argument>irshost12.tc.tb.com</argument><argument>-url</argument>
<argument>http://16.158.69.53:9999/jenkins/</argument>
</application-desc>
</jnlp>

 

确认其中的url地址是上面的正确的地址,而不是localhost,因为我的jenkins部署在本地测试。所以这里就遇到了显示localhost的地址问题。

之所以说这个是因为这个是jenkins的一个bug:http://stackoverflow.com/questions/11287845/jenkins-slave-cant-get-started

Jenkins does not use the "Jenkins URL" setting for a lot of things, but establishing connection with Java Web Start slaves is one of them, so please ensure "Jenkins URL" in the master configuration is set correctly.

以上的配置完成后,如果点击lanch按钮,可能会报一下的错误:

Slave irshost12.tc.tb.com

Connection was broken

java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(SocketInputStream.java:168)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
	at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2252)
	at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2545)
	at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2555)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1294)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
	at hudson.remoting.Command.readFrom(Command.java:92)
	at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:72)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

Connect slave to Jenkins one of these ways:

  •  Launch agent from browser on slave
  • Run from slave command line:
    javaws http://16.158.69.53:9999/jenkins/computer/irshost12.tc.com.com/slave-agent.jnlp
  • Or if the slave is headless:
    java -jar slave.jar -jnlpUrl http://16.158.69.53:9999/jenkins/computer/irshost12.tc.com/slave-agent.jnlp
 
如果出现上面的问题,我们就不要在点击launch按钮起启动了,采用命令行去启动也是一样的,命令行的命令上面已经给出了:
命令1: javaws http://16.158.69.53:9999/jenkins/computer/irshost12.tc.com.com/slave-agent.jnlp
命令2: java -jar slave.jar -jnlpUrl http://16.158.69.53:9999/jenkins/computer/irshost12.tc.com/slave-agent.jnlp
 
运行命令后,他会弹出一个界面:

 
如果上面的正常的话,过一会几分钟后,这个界面应该就会变成下面的界面,就是多了一个File菜单,下拉这个File菜单就有一个选项他会提示你是否想设置为一个自启动的服务。可能将当前的slave设置成一个服务,每次机器重启的时候都自动启动slave服务,这样就不能每次都去启动这个slave agent了。

#     Master Jenkins服务器端的配置细节                         

如果上面的窗口中显示Connected,可是一会有出现了Terminated的状态,那么很可能是因为你的jenkins配置权限的时候没有给匿名用户启动slave的权限:http://stackoverflow.com/questions/14277512/problems-launching-the-slave-agent-via-java-web-start-on-jenkins

Two solutions seem to be coming up:

  1. Download the JNLP file (via browser, wget, curl, whatever) then run locally - may require extra parameters.
  2. Go to Manage Jenkins -> Configure Global Security, and under Project-based Matrix Authorization Strategy, enable “connect” in the “slave” section, for user “Anonymous”. This would leave you open to attack where someone emulates a slave (but in my case, on a private work network - that's not an issue.)

具体操作是进入jenkins主界面,然后进入Manage Jenkins -> Configure Global Security ,勾选其中的anonymous用户的slave部分的权限。如下:

以上的就是配置远程机器作为slave的详细步骤,如果又不太理解的,可以email我:alterhu2020@gmail.com 。

***************************************************************************************

走下一步,留下走过的脚印。希望越走越远,走的更稳,更好!

作者:Alter hu
      博客地址:http://www.cnblogs.com/alterhu/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
***************************************************************************************

http://www.cnblogs.com/juddhu/archive/2013/07/18/3198191.html

 

时间: 2024-11-03 10:52:17

配置Jenkins的slave节点的详细步骤适合windows等其他平台(转)的相关文章

【我的Android进阶之旅】Jenkins挂载slave节点,增强分布式编译的效率

由于公司的Jenkins任务越来越多,而且所有的Android Jenkins任务都在同一台服务器上进行编译,而且该服务器配置Jenkins任务最多3个任务同时运行,所以有时候大家一起编译的时候,只能一个一个的等待. 因此最近我重新搭建了一台Center OS服务器,配置好了SDK,JDK等一系列Android的编译环境.并且在新的Center OS服务器上搭建好了新的Jenkins平台,本来想把部分的Android Jenkins任务迁移到新的Center OS服务器上的Jenkins平台来,

加JENKINS的SLAVE节点(LINUX)要注意的事项

从昨天下午到现在,终于解决了所有的问题.作如下记录要点: 1,从节点只要建好目录,JENKINS的包,MASTER会推送过来. 2,ANT,MAVEN之类的,要配置好环境变量,PROFILE.D .BASH_PROFILE的,能写的都写. 3,下图的出错关键是,JAVA配置变量后.在/USR/LOCAL/BIN或/USR/BIN/下建立JAVA的软链接!!!!切记!! 4,多看日志,JENKINS的日志输出会提示很多信息.    

WIN版的Jenkins Master加入LINUX的SLAVE节点,并作C++程序的集成交付

这次深撸了一下JENKINS的配置,不敢说完全通了. 但对于整个体系,有了更新认识. 将LINUX作为SLAVE节点加入WIN的JENKINS里,网上有很多教程,依作即可. 在将相关任务分配给这个节点时,需要作相应绑定映射.   在作C++编译时,调用脚本.且如果要使用环境变量,记得SOURCE一下.

电脑中进行磁盘阵列RAID配置的详细步骤

  电脑中进行磁盘阵列RAID配置的详细步骤          1.按照屏幕下方的虚拟磁盘管理器提示,在VD Mgmt菜单(可以通过CTRL+P/CTRL+N切换菜单),按F2展开虚拟磁盘创建菜单; 2.在虚拟磁盘创建窗口,按回车键选择"Create New VD"创建新虚拟磁盘; 3.在RAID Level选项按回车,可以出现能够支持的RAID级别,RAID卡能够支持的级别有RAID0/1/5/10/50,根据具体配置的硬盘数量不同,这个位置可能出现的选项也会有所区别,选择不同的级别

开源堡垒机GateOne的安装、配置笔记(详细步骤)

  GateOne简介 GateOne是一款基于HTML5的开源终端模拟器/SSH客户端,同时内置强大的插件功能.它自带的插件使其成为一款令人惊艳的SSH客户端,但是,它可以用于运行任何终端应用.用户可以将GateOne嵌入其他应用程序从而提供各类终端访问界面,它也支持各类基于Web的管理界面--后面的大家自己看吧~~ 因为内部临时需要这么一套系统,所以搜搜查查,搞定了系统部署,使用pam认证的配置,做了个简单的管理界面. GateOne部署 系统初始化是使用CentOS 6.5 Mini x6

在CentOS6.4中安装配置LAMP环境的详细步骤

原文:在CentOS6.4中安装配置LAMP环境的详细步骤 本文详细介绍了CentOS6.4系统中安装LAMP服务并对其进行配置的过程,即安装Apache+PHP+Mysql,参照了网上大神的设置,其他Linux发行系统可以参考~ 在本文中部分命令操作需要root权限,输入'su -'命令后输入密码即可切换root身份. 一.修改设置对安装做准备 1. 防火墙设置 设置/etc/sysconfig/iptables文件允许80端口和3306端口.因为80端口是http协议所使用的端口,如果防火墙

CAS_SSO单点登录实例详细步骤(转)、Tomcat ssl(https) 配置

CAS_SSO单点登录实例详细步骤(转).Tomcat ssl(https) 配置            博客分类: SSO&CAS&Identity Java.Tomcat       0, 从CAS官网下载最新版本的CAS服务器:cas-server-3.5.1-release.zip和java版客户端cas-client-3.2.1-release.zip. 1, 修改hosts文件,添加域名方便演示 127.0.0.1    cas.my.com #对应部署cas server的t

Android Studio配置Kotlin开发环境详细步骤

Android Studio配置Kotlin开发环境详细步骤 第一步:安装Kotlin插件 打开Settings面板,找到Plugins选项,点击Browse repositories(浏览仓库),输入"Kotlin"查找,然后安装即可.安装完成之后需要重启Android Studio (切记!). 安装完成之后如下图所示. 插件当前的最新版本是1.1.2-release-Studio-2.3-3. 第二步:配置Kotlin开发环境 点击菜单栏的"Tools"选项,

最新简捷实用JSP动态网站环境搭建的详细步骤

最新简捷实用JSP动态网站环境搭建的详细步骤,根据网上出现最新的web server软件UFO搭建网站,测试了N次,没问题: 最新简捷实用JSP动态网站环境搭建的详细步骤,根据网上出现最新的web server软件UFO搭建网站,测试了N次,没问题:    内容提示: Sun推出的JSP(Java Server Pages)是一种执行于服务器端的动态网页开发技术,它基于Java技术.执行JSP时需要在Web服务器上架设一个编译JSP网页的引擎.配置 JSP 环境可以有多种途径,但主要工作就是安装