本地JNLP文件未读取到Jenkins从节点。

3

我正在尝试将Jenkins从机连接到主服务器。

我们只能打开一个端口(比如8888)通过公司防火墙与托管在AWS上的主服务器通信。该端口用于连接运行在主Jenkins机器上的jnlp进程。由于这个原因,我们不能使用HTTP下载slave-agent.jnlp文件。我已经手动下载了slave-agent.jnlp文件,并尝试使用以下命令启动代理。

java -jar slave.jar -jnlpUrl file:///oracle/app/jenkins/slave-agent.jnlp -secret 7f079707d5632d2db2501be73f1a6f5f6422b9c9fde806afd8fdd2000d5db123

我遇到了以下错误:

Failing to obtain file:/oracle/app/jenkins/slave-agent.jnlp?encrypt=true
java.io.IOException: file:/oracle/app/jenkins/slave-agent.jnlp?encrypt=true doesn't look like a JNLP file; content type was null
    at hudson.remoting.Launcher.parseJnlpArguments(Launcher.java:301)
    at hudson.remoting.Launcher.run(Launcher.java:218)
    at hudson.remoting.Launcher.main(Launcher.java:192)
Waiting 10 seconds before retry

我也尝试过这个,但没有成功。

java -jar slave.jar -jnlpUrl file://localhost/oracle/app/jenkins/slave-agent.jnlp -secret 7f079707d5632d2db2501be73f1a6f5f6422b9c9fde806afd8fdd2000d5db123

文件位于的位置具有读写权限。
任何线索表明为什么Java进程无法读取该文件?
2个回答

5
今天至少可以通过url作为文件url使用,@gareth_bowles的答案是错误的。不知道这是否在某个时候发生了变化。
对于我们的windows从属,它是"file:/D:/jenkins-slave/slave-agent.jnlp",它可以工作。

是的,它一直都有效,这不是2016年新增的内容。 - Gerhard

2

1
不,它是可以工作的,一直以来都是 file:/path/to/slave.jnlp ,但您需要排除 -secret 参数。 - Gerhard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接