jenkins中通过JNLP启动slave节点的配置问题

本文详细介绍了在Jenkins中通过JNLP方式配置Slave节点的过程及注意事项,特别是如何解决连接失败的问题,包括配置JNLP端口、iptables规则等。

jenkins中,slave节点有多种启动方式,其中一种是“Launch slave agents via Java Web Start”,即通过JNLP启动一个代理来启动slave。这种方式比较适用于slave部署在windows系统的计算机上。


官方描述如下:

Launch slave agents via Java Web Start
Starts a slave by launching an agent program through  JNLP. The launch in this case is initiated by the slave, thus slaves need not be IP reachable from the master (e.g. behind the firewall.) It is still possible to start a launch without GUI, for example as a Windows service.

这种启动方式的配置项中,有一个“Tunnel connection through”,可以用来配置JNLP使用指定的IP地址和端口,格式为:"HOST:PORT", ":PORT", or "HOST:"。


实际应用时,我指定了端口号,并且在master节点的计算机上加入了iptables的规则后,以这种方式启动slave时,却始终连接不上,怀疑jenkins服务端似乎并没有使用这个指定的端口,而是每次都随机分配端口。

在网上搜了搜,发现在master上还有一个配置的地方,在jenkins的“系统设置”里,需要设置JNLP端口的分配方式,可以随机或者指定端口,将其配置为和slave的一致就ok了。

Jenkins 通过 JNLP 连接 Windows 节点时,通常不需要额外安装特定的插件来支持连接本身。这是因为 Jenkins 自带了对 JNLP 的支持,只要配置正确即可使用。 不过,为了确保连接顺利进行,需注意以下几点: - 在 Jenkins节点的全局安全配置中,必须启用代理 TCP 端口(默认为 50000),以便 JNLP 代理能够通过该端口与主节点通信[^2]。 - 需要确保 Windows 节点能够访问 Jenkins节点的该端口,并且防火墙规则允许此通信[^3]。 - 可以使用 Java 环境直接运行 `slave-agent.jnlp` 文件,或者将其封装为 Windows 服务以便长期运行。 虽然连接本身不需要额外插件,但有一些插件可以增强管理 Windows 节点的功能,例如: 1. **Windows Agent Plugin**:该插件提供了一个更便捷的方式来将 Jenkins Agent 作为 Windows 服务安装和管理。 2. **SSH Slaves plugin**:如果希望使用 SSH 协议而非 JNLP 来连接节点,可以使用此插件。它允许 Jenkins 通过 SSH 协议启动远程代理。 3. **CloudBees Node and Zone plugin**:该插件提供了更高级的节点分组和调度功能,适用于大规模部署环境。 ### 示例:将 JNLP 代理作为 Windows 服务运行 可以通过 `winsw` 工具将 `slave-agent.jnlp` 封装为 Windows 服务。以下是配置文件和服务启动脚本的示例: ```xml <!-- agent.xml --> <service> <id>jenkins-agent</id> <name>Jenkins Agent</name> <description>This service runs Jenkins agent as a Windows Service.</description> <executable>java</executable> <arguments>-jar "%BASE%\slave-agent.jnlp" -secret your_secret_key -workDir "C:\jenkins"</arguments> <logmode>rotate</logmode> </service> ``` 配套的批处理脚本 `agent.bat` 内容如下: ```bat @echo off set BASE=C:\jenkins cd /d %BASE% "%BASE%\winsw.exe" --install net start jenkins-agent ``` 执行后,Jenkins Agent 将作为一个持久化的 Windows 服务运行。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值