java Jenkins代理未读取本地JNLP文件

pjngdqdw  于 2023-11-15  发布在  Java
关注(0)|答案(2)|浏览(162)

我正在尝试将Jenkins代理连接到控制器。
我们只允许有一个端口(比如说8888)从企业防火墙打开与AWS上托管的控制器对话。该端口用于连接到控制器Jenkins机器上运行的jnlp进程。由于这个原因,我们无法使用http下载slave-agent.jnlp文件。我已经手动下载了slave-代理.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进程不能读取这个文件?

kiayqfof

kiayqfof1#

至少在今天,@ bowles的回答是错误的,URL也可以作为文件URL使用。不知道这是否在某个时候改变了。
对于我们的windows slave,它是"file:/D:/jenkins-slave/slave-agent.jnlp",它可以工作。

2skhul33

2skhul332#

jnlpUrl参数需要是指向Jenkins master的http或https链接,例如http://jenkins.yourco.com/computer/slavename/slave-agent.jnlp-它不能用作文件URL。

相关问题