当我调用应用程序URL时,我的WAR文件到Elastic Beanstalk的(成功)部署为我提供了404 Not Found。我可以在/ var/lib/tomcat8/webapps/ROOT /中看到一个application.war文件,而不是手动部署时的META-INF和WEB-INF。AWS CodePipeline成功但未正确部署到Elastic Beanstalk
当我从S3中取出WAR文件并手动将其部署到Elastic Beanstalk时,它就像一个魅力一样。注意:这与CodeBuild在我的管道中生成的WAR文件相同。更好的是,如果我将文件复制(scp)保存到本地计算机并将其上载到Elastic Beanstalk,它也可以工作。
看来,一切工作,直到部署,一个工作的WAR文件甚至部署到Elastic Beanstalk。
通过eb-activity.log
我可以看到它识别WAR文件并将其从临时目录中部署到/var/lib/tomcat8/webapps/ROOT
,但未解压缩,并且容器/ web服务器未重新启动。
如何正确部署WAR文件与CodePipeline?
我有同样的问题,并在AWS论坛上问,为什么战争放在ROOT文件夹中而不是“解压缩”:https://forums.aws.amazon.com/thread.jspa?threadID=248895 – Azeq