jenkins 通过 agent jnlpUrl 连接Node节点连不上问题(Windows)
提示:node名字由 字母、数字、符号构成时会出现此问题
例如:
- node名字为 Test_Agent_01 jnlpUrl中的名字为:Test%5FAgent%5F01
jnlpUrl节点名字符号异常举例:
提示:符号 = 除了字母和数字意外的字符
例如:
node为my_build_01:此时Jenkins出现的连接指令为
java -jar agent.jar -jnlpUrl http://192.168.170.235:8080/computer/my%5Fbuild%5F01/jenkins-agent.jnlp -secret 7bba7 -workDir “C:\jenkinsHome_myBuild01”
发现下划线_变成了%5F。。。。
解决办法:
提示:这里的解决是指copy了上面的指令执行了还是无法连接上node的情况
将jnlpUrl中的异常节点name替换成正常的:
如:my%5Fbuild%5F01 替换为 my_build_01
实际我们使用的指令是:
java -jar agent.jar -jnlpUrl http://192.168.170.235:8080/computer/my_build_01/jenkins-agent.jnlp -secret 7bba7 -workDir “C:\jenkinsHome_myBuild01”
应该就可以正常连上node了
总(shui)结(tie):
提示:这里简单说下问题本身 和 尝试过的失败方案
百度上几乎没看见有人提这个问题,其实如果Jenkins节点名字不带符号的话,确实不会有此困扰。。。
但是商业jenkins节点很多的情况下,像 build_dll_pro1 这种带下划线或者其他分隔符的命名肯定是很常见的。
可能各人用的Jenkins版本不一样,也许别人没有出现这个问题,这个不好说,我用的是2.349版本.
其他版本还没成功走到连接节点这步。to be or not to be
由于面向百度编程失败了,靓仔就开始自己琢磨了,果然还是不行么:
1、尝试google 蹄子么得,包月太贵,遗憾
2、尝试node的名字不用分隔符,连接成功,不甘心
3、尝试着修改Jenkins语言环境,将中文改成英文,失败。
4、尝试搜索%5F关键字 发现是url编码将下划线 _ 搞成%5F, _:编码的很好,下次别编了
5、尝试由4启发去找jnlp插件的xml配置,额。这玩意是插件吗。。这玩意有xml配置吗。。这什么玩意。
6、重装Jenkins,啊 这。。还是不行:?/%*&……¥#