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

如何让Windows Jenkins节点在关闭RDC或CMD后始终保持连接?

解决Windows Jenkins节点断开连接的问题

针对你遇到的RDC会话关闭或CMD窗口关闭后Jenkins节点断开的问题,以下是几种可靠的解决方法:

方法1:将Jenkins Agent注册为Windows服务(推荐)

这是最稳定的方案,Agent会以系统服务形式运行,不受用户会话影响:

  • 以管理员身份打开CMD,进入agent.jar所在的目录
  • 执行注册命令:
    java -jar agent.jar install
    
  • 打开Windows服务管理器(运行services.msc),找到名为Jenkins Agent - [节点名称]的服务:
    • 将启动类型设置为自动,确保系统开机后自动启动服务
    • 点击「启动」按钮运行服务
  • 验证:断开RDC会话或关闭所有CMD窗口,查看Jenkins控制台的节点状态是否正常

方法2:使用NSSM封装Agent为自定义服务

如果需要更灵活的参数配置,可使用NSSM工具将启动命令封装为服务:

  • 下载NSSM工具并解压到本地目录(如C:\nssm)
  • 以管理员身份打开CMD,进入NSSM所在目录,执行:
    nssm install JenkinsAgent
    
  • 在弹出的配置窗口中完成以下设置:
    • 应用程序标签:
      • 路径:填写java.exe的完整路径(如C:\Program Files\Java\jdk1.8.0_301\bin\java.exe)
      • 参数:填入你的Agent启动参数:
        -jar agent.jar -jnlpUrl http://serverIP:8000/jenkins/manage/computer/my-project/jenkins-agent.jnlp -secret @secret-file -workDir "H:\Jenkins_slave"
        
      • 工作目录:设置为agent.jar所在的文件夹路径
    • 详细信息标签:设置服务名称为JenkinsAgent,可添加描述便于识别
    • 登录标签:默认使用本地系统账户即可,若需特定权限可指定对应用户
  • 点击「确定」完成安装,在服务管理器中启动该服务并设置为自动启动

方法3:VBS脚本后台启动(临时方案)

适合快速测试,无需安装额外工具,但稳定性不如服务:

  • 新建文本文件,粘贴以下内容(注意替换java.exe和agent.jar的完整路径,若已加入系统PATH则可省略):
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run """C:\Program Files\Java\jdk1.8.0_301\bin\java.exe"" -jar ""D:\JenkinsAgent\agent.jar"" -jnlpUrl http://serverIP:8000/jenkins/manage/computer/my-project/jenkins-agent.jnlp -secret @secret-file -workDir ""H:\Jenkins_slave""", 0, False
    
  • 保存文件为start_jenkins_agent.vbs,双击运行即可在后台启动Agent(无CMD窗口)
  • 开机自启设置:将该VBS脚本的快捷方式放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp目录

注意事项

  • 确保Windows防火墙允许Agent与Jenkins服务器的通信(开放对应端口,如8000)
  • 查看工作目录下的jenkins-agent.log文件,可排查Agent运行中的异常
  • 尽量使用管理员权限或本地系统账户运行服务,避免权限不足导致的问题

内容的提问来源于stack exchange,提问作者Kasun Wimaladarma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 05:07:29