0

当我调用应用程序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?

+0

我有同样的问题,并在AWS论坛上问,为什么战争放在ROOT文件夹中而不是“解压缩”:https://forums.aws.amazon.com/thread.jspa?threadID=248895 – Azeq

回答

1

我试图复制你正面临的问题。我认为在创建“war”文件时,您将包含“META-INF”和“WEB-INF”文件夹的文件夹作为“war”输出文件的根目录。

相反,您应该将所有文件(在上面的文件夹中)放在没有根级文件夹的“war”文件中。

+0

我认为WAR文件有问题。但是,当我从S3(由CodeBuild生成)下载WAR文件并手动将其部署到Elastic Beanstalk时,它就可以工作。 – Nando

相关问题