我最近創建了一個AWS CodePipeline管道,從Github抽取,使用Jenkins/Maven構建,並部署到現有的ElasticBeanstalk項目。構建步驟的輸出和輸入到部署步驟的內容是構建的.war文件。在成功構建WAR之後,部署將失敗並出現AWS EB控制檯的此錯誤。AWS CodePipeline ElasticBeanstalk部署失敗
[實例:i-6605c4e1]命令在實例上失敗。返回碼:2輸出:(截斷)... 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,部署失敗。
謝謝!
CodePipeline Jenkins插件將上傳到S3之前將Jenkins作業「輸出位置」壓縮。是否WAR文件被壓縮兩次?你的Jenkins「輸出位置」指向壓縮的WAR文件嗎?您可以嘗試將其更改爲生成WAR文件的未壓縮路徑。 – tapichu
謝謝@tapichu!那就是訣竅。 – klesh