可能的错误是Jenkins Swarm插件 - 用于设置远程根目录相对vs完整路径的{fsroot}

时间:2015-12-09 19:31:17

标签: jenkins jenkins-plugins

我有最新的Jenkins和它的Swarm插件客户端jar(2.0)。

我下载了swarm-client jar并运行了以下命令来创建奴隶:(注意::我使用用户匿名连接到Jenkins master不需要用户名/密码,并且通过创建模式 swarm。* 的新角色,在Global Roles中提供了Create Slave权限,并在Slave角色下提供了Slave部分中的所有访问权限。 Jenkins Swarm客户端:https://wiki.jenkins-ci.org/display/JENKINS/Swarm+Plugin

用户可以提供有效的用户名/密码,如果该用户具有“创建从属”(全局角色)以及“管理角色”下的“Jenkins中的从属角色”中的连接,删除等其他访问权限。

$ which swarm-client.jar
~/tools/bin/swarm-client.jar
$ pwd
/home/confman/slaves
$ ~/tools/jdk1.7.0_60/bin/java -jar `which swarm-client.jar` -name "swarm_`hostname -a`" -fsroot "~/slaves/swarm_`hostname -a`" -master  http://jenkins_master.srvr.company.com:8083 -username Anonymous -description "`hostname -a` " -executors 5 -labels "ANSIBLE_CENTOS CENTOS" -mode 'exclusive'  -showHostName -t java=~/tools/jdk1.8.0_45 -t gradle=~/tools/gradle-2.3 -t Maven=~/tools/apache-maven-3.3.3 -t Groovy2=~/tools/groovy-2.4.5 --showHostName -retry 0 -disableClientsUniqueId &

但是,除了上面的命令设置Slave的远程根目录〜/ slaves / swarm_jmeter01 之外,它还设置了远程根路径包括作为前缀/相对于我运行上述命令的文件夹(如下所示)。 在我的情况下主机名命令值为 jmeter01

enter image description here

文档没有提到这个参数是相对于当前文件夹的(你在那里运行java -jar slave-client jar命令)。

是否有人为此找到了解决方案,即它可以忽略当前文件夹并将其设置为〜/ slaves / swarm_01或类似的东西?

显然在我的自动化中解决这个问题,我可以先#c; cd" (更改目录)到正确的文件夹〜/ slaves,然后只传递-fsroot" swarm_`hostname -a`"将远程目录路径值设置为:〜/ slaves / swarm_jmeter01(在这种情况下,它可以正常工作)。

1 个答案:

答案 0 :(得分:0)

〜是shell扩展......如果这不起作用,那么使用$ HOME代替