当我调用应用程序 URL 时,将我的 WAR 文件(成功)部署到 Elastic Beanstalk 给我一个 404 Not Found。我可以在 /var/lib/tomcat8/webapps/ROOT/ 中看到一个 application.war 文件,而不是 META-INF 和 WEB-INF,当我手动部署时,它就在那里。
当我从 S3 中提取 WAR 文件并将其手动部署到 Elastic Beanstalk 时,它就像一个魅力。注意:这与 CodeBuild 在我的管道中生成的 WAR 文件相同。更好的是,如果我将文件安全地复制 (scp) 到本地计算机并将其上传到 Elastic Beanstalk,它也可以正常工作。
似乎在部署之前一切正常,甚至将工作 WAR 文件部署到 Elastic Beanstalk。
通过eb-activity.log
我可以看到它识别出 WAR 文件并将其从临时目录部署到/var/lib/tomcat8/webapps/ROOT
,但它没有解包并且容器/网络服务器没有重新启动。
如何使用 CodePipeline 正确部署 WAR 文件?