当前位置:  开发笔记 > 运维 > 正文

Jenkins Swarm插件-具有RANDOM字母数字值的从站名称

如何解决《JenkinsSwarm插件-具有RANDOM字母数字值的从站名称》经验,为你挑选了1个好方法。

我正在使用Jenkins(1.573)和Swarm插件(2.0):https : //wiki.jenkins-ci.org/display/JENKINS/Swarm+Plugin。

从http://maven.jenkins-ci.org/content/repositories/releases/org/jenkins-ci/plugins/swarm-client/2.0/下载了jar

我已经在Jenkins(主机)中安装了插件,并且从其中一台Linux机器(我想用作从机)中下载了具有依赖项2.0的swarm客户端jar并运行了以下命令:

注意
$ p变量中存储了密码。
可以正常使用模式(而不是独占模式)。

$ java -jar swarm-client-2.0-jar-with-dependencies.jar -name“`hostname -a`_01” -fsroot“`pwd` /`hostname -a`_01” -master http://jenkins_server.yo .company.com:8081 -disableSslVerification-用户名c123456-密码$ p-说明“主机名-a”-执行程序5-标签“ ANSIBLE_CENTOS CENTOS”-模式“独占”-重试3

Discovering Jenkins master
Dec 03, 2015 3:52:58 PM org.apache.commons.httpclient.HttpMethodBase getResponseBody
WARNING: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
Attempting to connect to http://jenkins_server.yo.company.com:8081/ 1229493c-3bd5-4cf4-9210-3392089f2ee2 with ID 1893f0ea
Could not obtain CSRF crumb. Response code: 404
Dec 03, 2015 3:53:01 PM hudson.remoting.jnlp.Main createEngine
INFO: Setting up slave: jmeter01_01-1893f0ea
Dec 03, 2015 3:53:01 PM hudson.remoting.jnlp.Main$CuiListener 
INFO: Jenkins agent is running in headless mode.
Dec 03, 2015 3:53:01 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Locating server among [http://jenkins_server.tsh.thomson.com:8081/]
Dec 03, 2015 3:53:02 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connecting to jenkins_server.tsh.thomson.com:53605
Dec 03, 2015 3:53:02 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Handshaking
Dec 03, 2015 3:53:02 PM hudson.remoting.jnlp.Main$CuiListener status
INFO: Connected

在Jenkins master中,我看到成功创建了slave(使用JLNP auth),但是slave的名字有点奇怪。

而不是将从属名称创建为主机名(例如, 在我的情况下为jmeter01 jmeter01.yo.company.com),而是使用RANDOM字母数字值为从属名称添加后缀。有时为jmeter01_01-ee12355ec,有时为jmeter01_01-1893f0ea

我希望从属名称仅为:jmeter01_01someserver_01someserver.fq.dn_01

我可能在说错什么?



1> Arun Sangal..:

在命令行中使用选项-disableClientsUniqueId可以解决该问题。

我认为-name VALUE应该足够,但似乎他们采用了每次都会创建从属的方法(无论如何),这就是为什么他们在从属名称后缀唯一/字母数字ID值的原因。使用以上属性解决了该问题(在我进行了更多研究后发现他们在2.0版中引入了此修复程序)。

另外:为了在从站的配置中创建工具位置,我使用了-t Java =〜/ tools / jdk1.8.0_45 -t Gradle =〜/ tools / gradle-2.9,该命令给了我一个错误没有定义工具'Java'在詹金斯(Jenkins)上

javax.servlet.ServletException: java.lang.RuntimeException: No tool 'Java' is defined on Jenkins.

经过研究,我发现这是因为在Jenkins Master(我使用过)中,在JDK Installations部分(在Jenkins全局设置中)将此工具的Name值设置为“ java”。

尝试-t java =〜/ tools / jdk1.8.0_45解决了该问题,现在我可以在从属服务器的配置中看到(JDK)java工具,其值为〜/ tools / jdk1.8.0_45

PS:无法使用swarm客户端jar来定义环境变量(就像我们通常在Jenkins GUI中定义/查看节点/从站的配置一样)(这可以通过此新功能增强Swarm插件)。

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有