AWS CodePipeline ElasticBeanstalk部署失败

时间:2016-05-10 17:10:39

标签: java amazon-web-services deployment war aws-codepipeline

我最近创建了一个AWS CodePipeline管道,用于从Github获取,使用Jenkins / Maven构建,并部署到现有的ElasticBeanstalk项目。构建步骤的输出和部署步骤的输入是构建的.war文件。成功构建WAR后,部署将因AWS EB控制台中的此错误而失败。

  

[实例:i-6605c4e1]命令在实例上失败。返回码:2输出:(TRUNCATED)... opt / elasticbeanstalk / deploy / appsource / source_bundle + / usr / bin / unzip -o -d / tmp / deployment / application / ROOT / opt / elasticbeanstalk / deploy / appsource / source_bundle存档:/ opt / elasticbeanstalk / deploy / appsource / source_bundle mapname:转换失败。挂钩/opt/elasticbeanstalk/hooks/appdeploy/pre/02unzip.sh失败。有关更多详细信息,请使用控制台或EB CLI检查/var/log/eb-activity.log。

我可以在此处提供更详细的信息,但也许有人可以看到一些我无法看到的明显的东西。

我可以将Jenkins / Maven生成的WAR文件直接成功部署到Elastic Beanstalk,但是通过CodePipeline,部署失败。

谢谢!

1 个答案:

答案 0 :(得分:1)

只是回答这个问题并将其标记为已解决,我正在重述@tapichu提供的答案。

  

CodePipeline Jenkins插件会在将Jenkins作业“输出位置”上传到S3之前将其压缩。

在Jenkins项目配置页面中,有一个选项可以设置构建后操作。我选择了“AWS CodePipeline Publisher”操作,并且最初将“输出位置”设置为构建项目的WAR文件。这是不正确的。而是设置输出位置......

  

...到生成WAR文件的未压缩路径。

再次感谢@tapichu!