Install Jenkins slave as a Windows service in command line

前端 未结 3 1093
没有蜡笔的小新
没有蜡笔的小新 2020-12-30 10:46

I have been looking a lot on Google on how to install the service in command line (so without manual interaction) but I am stuck on how to get the jenkins-slave.exe

<
3条回答
  •  醉话见心
    2020-12-30 11:19

    To answer my own question, after having contacted the plugin developers:

    There is no actual way to download the exe from Jenkins directly, the slave.jar gets it from the master via the remoting protocol. I have created a request to be able to download it via an URL (as suggested by the developer), so it might be available in the future.

    Right now the executable is a renamed Windows Service Wrapper binary: https://github.com/kohsuke/winsw so I used this binary the same way.

    Regarding the configuration used by WinSW and XML files, I used the one from the GitHub repository https://github.com/jenkinsci/windows-slave-installer-module. The versions are compatible in terms of the configuration.

    So basically I download the exe, get the private key from Jenkins and create the service using the configuration from the original plugin. Then I install the service using jenkins-slave.exe install.

    Step by step:

    • Get the JNLP command from Jenkins (from the Node page) to get the private key, e.g. java -jar slave.jar -jnlpUrl http://jenkins...
    • Download the slave.jar file from Jenkins (gotten from the JNLP command)
    • Download the service wrapper executable, e.g. http://repo.jenkins-ci.org/public/com/sun/winsw/winsw/2.1.0/winsw-2.1.0-bin.exe
    • Setup the XML used to run the service (available in the module or directly on winsw website)
    • Setup the slave configuration XML file (available on the module source code)
    • Then install the service using jenkins-slave.exe install

提交回复
热议问题