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

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

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

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

image

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

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

image

上面中的只有一个需要强调了,就是“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地址。其中的配置可能是这样的:


<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><application-desc main-class="hudson.remoting.jnlp.Main">
<argument>60c101541d377ad629da21b37c24cd6227edef74b97ff663c5b09e261ac2d5d6</argument><argument>irshost12.tc.tb.com</argument><argument>-url</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 Launch agent from browser on slave

  • Run from slave command line:

    javaws http://16.158.69.53:9999/jenkins/computer/irshost12.tc.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/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,可是一会有出现了那么很可能是因为你的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部分的权限。如下:

image

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

转载于:https://www.cnblogs.com/alterhu/p/3198191.html

评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符 “速评一下”
限时福利1:原价 129 元,最后2天仅需 69 元!后天涨价至98元 限时福利2:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利3:购课添加助教领取价值 800 元的编程大礼包 为什么需要掌握高性能的MySQL实战? 由于互联网产品用户量大、高并发请求场景多,因此对MySQL的性能、可用性、扩展性都提出了很高的要求。使用MySQL解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。 为了让大家快速系统了解高性能MySQL核心知识全貌,我为你总结了「高性能 MySQL 知识框架图」,帮你梳理学习重点,建议收藏! 【课程设计】 课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括经典 MySQL 问题剖析、索引底层原理和事务与锁机制。通过深入理解 MySQL 的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。 二、MySQL 8.0新特性篇: 主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。 三、高性能架构篇: 主要包括主从复制和读写分离。在企业的生产环境中,很少采用单台MySQL节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。 四、面试篇: 程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频MySQL问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页