跨网络创建Jenkins Slave代理可行吗?本地Mac Jenkins对接AWS EC2虚拟机
可行性分析与配置要点
完全可行,只要本地Mac的Jenkins服务器能通过VPN正常访问这台Windows EC2实例,就能完成Slave代理的配置,核心操作要点如下:
一、Windows EC2实例前置准备
- 安装与Jenkins服务器版本匹配的Java环境(建议选用Jenkins LTS版本对应的推荐Java版本)
- 配置防火墙规则:在Windows本地防火墙和AWS安全组中,开放50000端口(Jenkins Slave默认通信端口),允许VPN网段的流量访问该端口
- 创建具备足够权限的本地用户:用于Jenkins代理服务登录,需拥有执行构建任务、读写工作目录的权限
二、Jenkins服务器端配置
- 进入Jenkins管理界面,选择「管理节点和云」→「新建节点」
- 选择「固定节点」,填写节点名称,设置远程工作目录(例如
C:\Jenkins\Workspace) - 选择合适的代理启动方式:
- JNLP协议启动:生成代理配置后,将
agent.jar下载到Windows实例,执行命令启动:
注意:必须用Mac在VPN网络内的内网IP,不能用java -jar agent.jar -jnlpUrl http://[Mac的VPN内网IP]:8080/computer/[节点名称]/slave-agent.jnlp -secret [生成的密钥]localhost,否则Windows实例无法访问 - SSH启动:若Windows实例已安装OpenSSH服务,可直接通过SSH方式连接,填写实例的VPN内网IP、用户名密码即可
- JNLP协议启动:生成代理配置后,将
三、网络连通性验证
- 在Mac上执行
telnet [Windows实例VPN内网IP] 50000,确认端口能正常连通 - 在Windows实例中访问Jenkins的JNLP地址,确保页面能正常加载
额外注意事项
- 保持VPN连接稳定,避免因VPN断开导致Slave代理离线
- 建议将Windows实例上的Jenkins代理注册为系统服务,实现开机自启,避免手动启动后关闭终端导致代理停止运行
内容的提问来源于stack exchange,提问作者Muneeb
相关产品推荐
相关产品推荐

