You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins执行器集成OpenJDK后Java Web Start不可用的远程连接方案问询

Jenkins Windows执行器替代Java Web Start连接方案

方案1:官方新版JNLP代理(首推,无额外依赖)

旧版Java Web Start浏览器插件早已废弃,现在Jenkins官方提供了独立的JNLP代理包,不需要依赖浏览器组件,直接用你本地的OpenJDK即可运行:

  • 首先在Jenkins主节点进入「节点管理」,新增节点时,启动方式选择通过JNLP协议启动代理
  • 节点创建完成后,页面会生成专属启动命令,直接到Windows执行器的命令行运行该命令即可,命令示例如下:
    java -jar agent.jar -jnlpUrl http://<你的Jenkins主节点地址>/computer/<你的节点名称>/jenkins-agent.jnlp -secret <节点专属密钥> -workDir "C:\Jenkins\WorkDir"
  • 运行后即可自动完成和主节点的连接,全程不需要打开浏览器。

方案2:封装为Windows系统服务(适合长期运行)

如果需要执行器开机自动连接,无需每次手动运行命令,可以用winsw工具把JNLP启动命令封装为系统服务:

  • 把下载好的agent.jar和winsw二进制文件放到同一个目录
  • 编写对应的服务配置XML文件,指定启动命令、工作目录、日志路径等参数
  • 执行命令完成服务注册和启动:
winsw install
winsw start

服务注册完成后,Windows开机就会自动运行Jenkins代理进程。

方案3:SSH主动连接(主节点统一管理)

如果不想在执行器手动配置代理,也可以通过SSH协议让主节点主动连接执行器,自动推送代理程序启动:

  • 先在Windows执行器上开启系统内置的OpenSSH服务,配置好Jenkins专用账号的登录权限(支持密码或SSH密钥认证)
  • 主节点新增节点时,启动方式选择通过SSH启动代理,填写执行器的IP、账号、认证信息,shell类型选择对应Windows的cmd或PowerShell即可
  • 配置完成后主节点会自动通过SSH连接到Windows执行器,上传并启动代理进程,无需在执行器做额外配置。

临时兼容方案(仅应急使用,不推荐长期用)

如果一定要沿用旧的JNLP文件双击启动的方式,可以安装开源的IcedTea-Web工具,它是Java Web Start的开源替代实现,支持新版OpenJDK,安装后会自动关联jnlp格式文件,双击即可运行。该方案安全性和稳定性不如官方原生方案,仅适合临时过渡使用。

注意事项
  • 确保执行器和主节点之间的端口连通:JNLP协议默认需要开放主节点的50000端口,SSH协议默认需要开放执行器的22端口,主节点的Web服务端口也要保证执行器可以正常访问
  • 本地OpenJDK版本需要符合你当前Jenkins版本的代理运行要求,推荐使用LTS版本的JDK 11或JDK 17,避免版本不兼容问题

内容的提问来源于stack exchange,提问作者Azusena Huacache

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:51:01