【发布时间】:2017-04-23 16:33:35
【问题描述】:
当我调用应用程序 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 文件?
【问题讨论】:
-
我有同样的问题,在 AWS 论坛上问为什么战争被放在 ROOT 文件夹而不被“解压缩”:forums.aws.amazon.com/thread.jspa?threadID=248895
标签: amazon-web-services amazon-elastic-beanstalk aws-codepipeline aws-codebuild