CodePipeline部署Spring 1.5.9 Java 8应用触发部署中止错误如何解决
部署失败排查解决思路
错误核心:实例上命令执行失败,返回码:1,输出:引擎执行遇到错误。实例部署失败,详情可查看'eb-engine.log'
1. 优先排查日志明确具体原因
- 登录报错实例(ID:
i-0a956bec0b978125a),查看/var/log/eb-engine.log完整错误栈,该日志会明确返回码1的触发根因,常见的有Jar包损坏、端口占用、依赖缺失、启动参数错误、权限不足几类。
2. 验证构建环节配置正确性
- 本地执行
mvn clean install后运行java -jar target/d_campus.jar,确认本地可以正常启动,排除代码本身的启动报错问题。 - 检查buildspec.yml是否遗漏必要部署文件:你当前配置仅打包了jar包,若项目存在
.ebextensions目录(存放EB部署配置、启动脚本、环境变量规则等),需要将该目录纳入构建产物,否则会触发引擎部署失败,调整示例如下:
phases: install: runtime-versions: java: corretto8 build: commands: - java -version - mvn clean install artifacts: files: - target/d_campus.jar - .ebextensions/**/* # 新增行,包含部署配置文件
- 确认CodeBuild构建日志没有报错,生成的Jar包大小与本地构建的一致,排除构建阶段Jar包打包不完全的问题。
3. 排查Elastic Beanstalk环境配置问题
- 检查EB环境运行时是否配置为Corretto 8,避免Java版本不兼容导致Spring 1.5.9项目启动失败。
- 登录实例检查CPU、内存、磁盘使用率,确认是否存在资源不足导致进程启动被终止的情况。
- 检查实例安全组规则,确认应用配置的启动端口(默认Spring Boot为8080)没有被占用、安全组已开放对应端口。
- 若近期升级过EB平台版本,可尝试回退到更早的兼容Java 8的稳定平台版本,Spring 1.5.9为legacy版本,与新版EB平台可能存在兼容性冲突。
内容的提问来源于stack exchange,提问作者Amimul Ehsan Rahi
相关产品推荐
相关产品推荐

