升级Jenkins至2.346.3后因Remoting版本问题无法启动流水线构建求助
解决Jenkins升级后ECS代理无法连接的问题
问题核心
Jenkins主节点升级至2.346.3后,要求代理节点的Remoting版本至少为3.14,但ECS启动的代理使用的旧版本Remoting(agent.jar)不符合要求,导致连接被拒绝。
解决方案
1. 临时快速恢复(不建议长期使用)
通过设置系统属性允许不兼容的Remoting版本:
- 编辑Ubuntu系统下Jenkins的配置文件:
/etc/default/jenkins - 找到
JAVA_ARGS配置项,添加参数:-Dhudson.slaves.SlaveComputer.allowUnsupportedRemotingVersions=true - 重启Jenkins服务:
sudo systemctl restart jenkins
2. 彻底解决(推荐)
更新ECS代理镜像中的agent.jar至符合要求的版本:
- 从Jenkins主节点下载最新的agent.jar:访问
http://<你的Jenkins域名/IP>/jnlpJars/agent.jar - 重新构建ECS代理使用的Docker镜像,将下载的新agent.jar替换原有文件
- 将新镜像推送至AWS ECR,并更新ECS任务定义使用该镜像
- 重新触发流水线验证
3. 优化ECS代理启动命令(避免镜像频繁更新)
修改ECS任务定义的启动命令,每次启动时从Jenkins主节点拉取最新的agent.jar:
curl -O http://<Jenkins主节点地址>/jnlpJars/agent.jar && java -jar agent.jar -jnlpUrl http://<Jenkins主节点地址>/computer/${AGENT_NAME}/slave-agent.jnlp -secret ${AGENT_SECRET}
注:${AGENT_NAME}和${AGENT_SECRET}需替换为实际的代理名称和密钥,或通过ECS任务的环境变量传入。
内容的提问来源于stack exchange,提问作者Kalana Sangeeth
相关产品推荐
相关产品推荐

