一尘不染

在命令行中将Jenkins从属服务器安装为Windows服务

jenkins

我一直在Google上寻找很多有关如何在命令行中安装该服务的信息(因此无需手动交互),但我仍然对如何获取jenkins-slave.exe感到困惑。

我找到了那些指令
https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+as+a+Windows+service,
但是我不知道如何获得可执行文件。我已经下载并使用正确的键运行slave.jar,它可以连接slave,但是不会生成exe。

我发现此页面
https://github.com/kohsuke/winsw/blob/master/doc/installation.md#winsw-
installation-
guide
手动安装,但这听起来像是罐子可以做时重新发明了轮子。另外,WinSW.exe可能会有所不同,并且无法通过插件进行更新(我在其中看到了一些自动更新代码)。

那有什么方法可以下载jenkins-slave.exe或生成它?还是有一种方法可以从slave.jar在命令行中运行“作为服务安装”?


阅读 313

收藏
2020-07-25

共1个答案

一尘不染

在联系插件开发人员后,要回答我自己的问题:

没有实际的方法可以直接从Jenkins下载exe,slave.jar通过远程协议从主服务器获取该exe。我创建了一个请求,希望能够通过URL下载(如开发人员建议的那样),因此将来可能会提供。

现在,可执行文件是重命名的Windows Service
Wrapper二进制文件:https :
//github.com/kohsuke/winsw,因此我以相同的方式使用了该二进制文件。

关于WinSW和XML文件使用的配置,我使用了来自GitHub存储库https://github.com/jenkinsci/windows-slave-
installer-module的配置。这些版本在配置方面兼容。

因此,基本上,我下载了exe,从Jenkins获取了私钥,并使用原始插件中的配置创建了服务。然后,我使用安装服务jenkins-slave.exe install

一步步:

  • 从Jenkins(从“节点”页面)获取JNLP命令以获取私钥,例如 java -jar slave.jar -jnlpUrl http://jenkins...
  • slave.jar从Jenkins 下载文件(从JNLP命令获得)
  • 下载服务包装可执行文件,例如 http://repo.jenkins-ci.org/public/com/sun/winsw/winsw/2.1.0/winsw-2.1.0-bin.exe
  • 设置用于运行服务的XML(在模块中或直接在winsw网站上可用)
  • 设置从属配置XML文件(在模块源代码上可用)
  • 然后使用安装服务 jenkins-slave.exe install
2020-07-25