为什么ApplicationStart会因AWS代码部署而超时?

问题描述 投票:0回答:1

我正在使用codedeploy将springboot应用程序部署到ec2。但我不断收到脚本超时错误。我事件将超时设置为60秒事件应用程序始终在20秒内启动。该应用程序启动正常。我在linux实例上运行top并看到java进程启动了。然后,我可以使用postman命中http状态检查端点并确认它已成功启动。但这就是它在代码部署控制台中的样子:

enter image description here

appspec.yml文件看起来像这样

enter image description here

server_start.sh文件如下所示。 enter image description here

为什么会这样?谢谢。

amazon-ec2 aws-code-deploy
1个回答
0
投票

您应该将一些脚本代码放到BeforeInstall或AfterInstall中。

删除java -jar application.jar

BeforeInstall - 您可以将此部署生命周期事件用于预安装任务,例如解密文件和创建当前版本的备份。安装 - 在此部署生命周期事件期间,CodeDeploy代理将修订文件从临时位置复制到最终目标文件夹。此事件是为CodeDeploy代理保留的,不能用于运行脚本。 AfterInstall - 您可以将此部署生命周期事件用于配置应用程序或更改文件权限等任务。 ApplicationStart - 您通常使用此部署生命周期事件来重新启动在ApplicationStop期间停止的服务。

然后为ApplicationStart创建另一个bash脚本。将您之前删除的行放在此脚本上。

© www.soinside.com 2019 - 2024. All rights reserved.