slave.jar is meant to be launched by Jenkins, typically through a remote shell like ssh/rsh.
Jenkins master then communicates with this agent through stdin and stdout.
slave.jar is not meant to initiate a connection to the master on its own, so if you are trying to run
it from cron or as a service, you are misunderstanding how this works.
% java -jar slave.jar WARNING: Are you running slave agent from an interactive console? If so, you are probably using it incorrectly. See http://wiki.jenkins-ci.org/display/JENKINS/Launching+slave.jar+from+from+console
See Distributed builds for more details.
7 Comments
Himanshu Paliwal
Then how to connect slave to master?
Slave shows offline. And I have only a jar file : slave.jar
slave-agent.jnlp is missing.
Denys Digtiar
Distributed builds has a list of possible ways.
Himanshu Paliwal
Thanks Denys for reference.
I am able to install JNLP file as "Windows Service"
But after adding it as service I am getting below windows pop up after every 1 minute and all one can do is say - "Ask me later" or close window manually. But it appears again after a minute.
How to get rid of this?
Denys Digtiar
Wiki comments are not the right place to troubleshoot issue. Please ask on the user's mailing list. Thank you! https://jenkins.io/mailing-lists/
Himanshu Paliwal
Dusan Maksic
When node is added and as launch method Launch agent via Java Web Start is used, node details page provides following info:
Connect agent to Jenkins one of these ways
Again,
slave.jar is not meant to initiate a connection to the master on its own, so if you are trying to run
it from cron or as a service, you are misunderstanding how this works.
Could someone please explain how these two things go together?
Denys Digtiar
Yes, it sounds like there is a bit of contradiction between the two. The Launch agent via Java Web Start page is correct. If you pass the certain arguments the default mode that uses stdin/stdout is replaced by a JNLP mode which initiates the connection.