gpt4 book ai didi

java - 使用 OpenJDK 将 Jenkins 节点/代理作为 Windows 服务运行

转载 作者:行者123 更新时间:2023-11-30 12:02:42 26 4
gpt4 key购买 nike

我有一台安装了 OpenJDK 13 的 Windows 虚拟机,我想将其设置为 Jenkins 节点/代理。

当我使用 Jenkins UI 创建节点配置并选择 Launch Method: Launch Agent by connecting it to master 它提供了一个下载 slave-agent.jnlp 的链接

在原始 jdk/jre 版本 9 之前的系统上,它包含 java web start,如果我运行那个 jnlp 文件,它会弹出一个带有菜单的窗口,其中包括一个选项文件 - 作为服务安装

但是,由于 OpenJDK(我相信任何大于 8 的 JRE/JDK 版本)不包含 Java Web Start,我似乎无法访问该选项。

我能够成功运行 java -jar agent.jar -jnlpUrl https://jenkinsserver/blah/slave-agent.jnlp -secret blah -workDir "somedirectory"并让节点向 Jenkins 注册,但它没有作为服务运行。

我有一个仍在使用旧版本 JRE 的旧代理,所以我查看了它的 Jenkins 服务配置,不幸的是它似乎依赖于可执行文件、.config 文件和 xml 文件),我无法确定其来源,除了在从 slave-agent.jnlp 运行“安装为服务”指令时必须创建它们之外

我还尝试使用 IcedTea-Web,它显然应该是 Java Web Start 的替代品,但我没有成功。

谁能告诉我如何将运行 OpenJDK 的 Windows 机器设置为 Jenkins 节点/代理,并将 Jenkins 节点/代理组件作为 Windows 服务运行?

最佳答案

我遇到了类似的问题,现在我使用 NSSM .

  1. 下载NSSM
  2. 打开 cmd 并安装服务(我使用 JenkinsService 作为服务名称):
    <path to nssm.exe>\nssm install <Servicename>
  3. 将jdk的路径插入字段Path
  4. 将其余部分添加到字段 Arguments 中:
    -jar agent.jar -jnlpUrl https://jenkinsserver/blah/slave-agent.jnlp -secret blah -workDir "somedirectory"
  5. 点击安装服务

现在可以在windows服务管理器中查看到新服务JenkinsService了。它一运行,您就可以检查与主服务器的连接。

关于java - 使用 OpenJDK 将 Jenkins 节点/代理作为 Windows 服务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58349113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com