Jenkins-2.32.3节点配置页面,启动方法没有"Launch agent via Java Web Start"

本文介绍如何在Jenkins中配置从节点的启动方式,包括设置全局安全策略、启用Java Web Start Agent Protocol3等步骤,并提供两种启动从节点的方法。

Jenkins的配置从节点中默认没有Launch agent via Java Web Start,解决办法:

步骤:

1:打开"系统管理"——"Configure Global Security"

2:TCP port JNLP agents 配置成"随机",点击"Agent protocols",打勾开启"Java Web Start Agent Protocol3"

3:检查Plugin Manager中"Enable Slave"需要打勾

:

   

点击"Agent protocols"安全策略,开启"Java Web Start Agent Protocol3"

4.检查"Plugin Manager"中"Enable Slave"需要打勾

重新打开节点配置页面就看到了,启动方法出现了:Launch agent via Java Web Start选项.

 

5.OK,既然出来了我们接着来配置节点如下图:

6.页面提示我们有两种方法可以在目标机器上运行节点服务的方法

           (1)Launch agent from browser on slave  下载文件slave-agent.jnlp文件,双击打开。一般用在Windows系统上,需要javaws.exe(在Java的bin目录中可以找到)程序才能打开。

如果提示错误,请卸载JDK后重新安装。成功启动如下图所示:

 点击左上角的File选择Install as a service就可以添加为Windows的服务了(默认开机自动启动)。

 

    (2)第二种方法如果你配置了权限那么后面还有一串看不懂的随机Key

 

 

    下载slave.jar到本地,然后进入存放slave.jar的目录,复制粘贴并运行 java -jar slave.jar -jnlpUrl http://xxxxx  即可启动。

 

本文为"测试那点事_TestYao"博客整理收集,转载请注明出处,谢谢!
<think>我们注意到用户的问题是关于在Jenkins配置Agent通过Java Web Start启动的方式。根据引用[2]和[3],在Jenkins节点配置页面中,启动方法选择“Launch agent via Java Web Start”实际上对应的是通过JNLP文件启动的方式。然而,用户提到在配置页面没有看到这个选项,这可能是因为Jenkins版本更新导致的界面变化。 实际上,在较新的Jenkins版本中,启动方法选项已经有所调整。原来的“Launch agent via Java Web Start”选项现在被整合为“Launch agent by connecting it to the controller”(即通过JNLP连接)。因此,用户需要选择这种方式,然后按照JNLP的方式配置启动。 以下是具体步骤: 1. **在Jenkins控制器上配置节点**: - 登录Jenkins控制台,进入“Manage Jenkins” > “Manage Nodes and Clouds”。 - 点击“New Node”,输入节点名称,选择“Permanent Agent”,然后点击“Create”。 -配置页面中,设置远程工作目录(例如:`C:\jenkins-agent`)。 - 在“Launch method”下拉菜单中,选择“Launch agent by connecting it to the controller”(这就是原来的Java Web Start方式)。 - 其他配置根据需求设置,然后保存。 2. **在Agent机器上启动**: -节点配置页面,你会看到两种启动方式(参考引用[2]和[3]): a. 在浏览器中下载`agent.jar`和`slave-agent.jnlp`文件(或者通过页面提供的链接下载)。 b. 或者,你可以直接使用命令行启动,命令格式如下: ```bash javaws slave-agent.jnlp # 这种方式需要Java Web Startjavaws)程序 ``` 但是注意,从Java 11开始,Java Web Startjavaws)已经被移除。因此,在较新的Java版本中,我们使用另一种方式:直接通过`java -jar`命令启动agent.jar,并指定jnlpUrl和secret(如引用[1]所示)。 3. **启动命令**: 实际上,现在更推荐的方式是使用命令行启动,命令如下: ```bash java -jar agent.jar -jnlpUrl http://jenkins-server/computer/NODE_NAME/slave-agent.jnlp -secret SECRET -workDir "工作目录" ``` 其中: - `jenkins-server`:Jenkins控制器的地址。 - `NODE_NAME`:节点名称。 - `SECRET`:节点的密钥(在节点配置页面可以找到,或者下载的`secret-file`中)。 - `工作目录`:节点的工作目录。 4. **关于Java Web Startjavaws)**: 如果用户仍然希望使用javaws启动(例如,使用较旧的Java版本),可以按照以下步骤: - 确保安装了Java 8(或更低版本),因为Java 9及以上不再包含javaws。 -节点配置页面,点击“Launch”按钮,会下载一个`slave-agent.jnlp`文件。 - 双击该文件,或者使用命令行:`javaws slave-agent.jnlp`。 5. **注意事项**: - 由于安全原因,Java Web Start技术已经逐渐被弃用。因此,建议使用命令行方式(即`java -jar agent.jar`)启动- 如果使用命令行方式,需要确保agent机器上安装了与Jenkins控制器兼容的Java版本(通常为Java 8或11)。 6. **配置为Windows服务(可选)**: 如果希望Agent在后台运行,可以将它配置为Windows服务。可以使用WinSW(Windows Service Wrapper)工具,具体步骤参考之前回答中的方法二。 7. **问题排查**: - 如果连接失败,检查网络连通性(从Agent机器访问Jenkins控制器的端口)和防火墙设置。 - 确保使用的Java版本符合要求。 因此,用户要配置Java Web Start启动方式实际上就是通过JNLP连接,在Jenkins节点配置中选择“Launch agent by connecting it to the controller”即可。然后根据Agent机器上的Java版本选择启动方式(使用javaws或者直接使用java命令)。 如果用户遇到启动方法选项中没有Launch agent via Java Web Start”,那么请选择“Launch agent by connecting it to the controller”,这就是替代选项。 最后,生成相关问题:</think>### Jenkins Agent 通过 Java Web Start 启动配置方法Jenkins配置 Agent 通过 Java Web Start (JNLP) 启动,本质是通过 JNLP 协议建立加密连接。以下是详细步骤: #### 一、Jenkins 控制台配置 1. **创建节点** - 进入 `Manage Jenkins` > `Nodes` > `New Node` - 输入节点名称,选择 `Permanent Agent` 2. **关键配置项** ```plaintext Remote root directory: C:\jenkins-agent # Windows 工作目录 Launch method: Launch agent via Java Web Start ``` - 若界面无此选项(常见于 Jenkins 2.3+),选择 **Launch agent by connecting it to the controller**(功能相同)[^2][^3] 3. **生成凭证** - 保存配置后,系统自动生成: - `agent.jar` 下载链接 - `Secret Key`(加密连接凭证) - `JNLP URL`(格式:`http://<JENKINS_URL>/computer/<NODE_NAME>/slave-agent.jnlp`) #### 二、Windows Agent 端操作 1. **准备环境** - 安装 Java 8 或 11(**必须包含 Java Web Start**) - 验证安装:命令行执行 `javaws -version` 应返回版本号 2. **下载启动文件** -Jenkins 节点页面下载: - `agent.jar` → 保存到 `C:\jenkins-agent` - `slave-agent.jnlp` → 同目录保存 3. **启动方式** **方法1:图形化启动(推荐首次测试)** ```powershell # 双击 slave-agent.jnlp 文件 # 或命令行执行 javaws C:\jenkins-agent\slave-agent.jnlp ``` **方法2:命令行启动(适合脚本化)** ```powershell java -jar C:\jenkins-agent\agent.jar ` -jnlpUrl http://<JENKINS_URL>/computer/<NODE_NAME>/slave-agent.jnlp ` -secret <YOUR_SECRET_KEY> ` -workDir "C:\jenkins-agent" ``` #### 三、安全与优化配置 1. **防火墙设置** - 开放 Agent → Controller 的 TCP 端口: - HTTP/HTTPS 端口(默认 8080/443- JNLP 端口(默认 50000) ```powershell New-NetFirewallRule -DisplayName "Jenkins JNLP" -Direction Inbound -LocalPort 50000 -Protocol TCP -Action Allow ``` 2. **服务化运行(后台常驻)** ```powershell # 创建启动脚本 agent-start.bat @echo off java -jar C:\jenkins-agent\agent.jar -jnlpUrl ... -secret ... > C:\jenkins-agent\agent.log 2>&1 # 使用 NSSM 创建服务 nssm install Jenkins-Agent "C:\path\to\agent-start.bat" nssm start Jenkins-Agent ``` #### 四、故障排查 1. **常见错误解决** - **无法打开 JNLP 文件**: - 检查 Java 安装是否包含 Web Start(Oracle JDK 8 默认包含) - 关联文件类型:`ftype jnlpfile="C:\Program Files\Java\jre1.8.0_361\bin\javaws.exe" "%1"` - **连接被拒绝**: - 验证 Controller 的 `TCP port for inbound agents` 已启用(`Manage Jenkins` > `Configure Global Security`) - **版本不匹配**: - 更新 Agent 端 `agent.jar`(从 `http://<JENKINS_URL>/jnlpJars/agent.jar` 下载最新版) > **安全提示**:Java Web StartJava 9+ 中已弃用[^3],长期方案建议迁移到: > - SSH 连接方式 > - 使用 Jenkins 官方 [Windows Agent Installer](https://github.com/jenkinsci/windows-slave-installer-module) --- ### 相关问题 1. 如何在 Windows Server 上将 Jenkins Agent 配置为自动启动服务? 2. Java 11+ 环境下如何替代 Java Web Start 启动 Agent3. 如何解决 Jenkins Agent 通过 JNLP 连接时的 SSL 证书错误? 4.节点环境下如何批量部署 Jenkins Agent? 5. Jenkins Controller 和 AgentJava 版本兼容性有哪些要求? [^1]: Linux 节点启动命令同样适用于 Windows,但需注意路径格式和权限差异 [^2]: 新版本 Jenkins 中 "Launch agent via Java Web Start" 选项已被整合到更安全的连接方式中 [^3]: Java Web Start 技术已逐步淘汰,建议优先考虑替代方案
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值