Локальный файл JNLP не читается для ведомого jenkins

Я пытаюсь подключить раба Дженкинса к мастеру.

Нам разрешено иметь только один порт (скажем, 8888) открытым от корпоративного брандмауэра для связи с мастером, размещенным на AWS. Порт используется для подключения к процессу jnlp, работающему на главной машине jenkins. По этой причине мы не можем загрузить файл slave-agent.jnlp по http. Я вручную загрузил файл 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 не может прочитать этот файл?


person Gaurav Verma    schedule 08.04.2014    source источник


Ответы (2)


Параметр jnlpUrl должен быть ссылкой http или https на ваш мастер Jenkins, например. http://jenkins.yourco.com/computer/slavename/slave-agent.jnlp - он не будет работать как URL-адрес файла.

person gareth_bowles    schedule 08.04.2014

Ответ @gareth_bowles неверен, по крайней мере, сегодня, URL-адрес также будет работать как URL-адрес файла. Не знаю, было ли это изменено в какой-то момент.

Для нашего подчиненного устройства Windows это "file:/D:/jenkins-slave/slave-agent.jnlp", что работает.

person eis    schedule 09.03.2016