AWS CodePipeline将Spring Boot应用程序部署到Elastic BeansTalk

丹尼斯·克里斯托夫

我通过3个步骤为SpringBoot Java应用程序构建了一个简单的CodePipeline:

  • 来源:从GitHub获取来源
  • 构建:一个ja​​r文件
  • 部署:到AWS Elastic Beanstalk实例

1和2步骤成功通过,而Deploy步骤失败。我在Elastic Beanstalk日志中看到的唯一错误是:

01_configure_application.sh] : Activity execution failed, because: Executing: /usr/bin/unzip -o -d /var/app/staging /opt/elasticbeanstalk/deploy/appsource/source_bundle
  FileMagic v0.7.1: compiled magic version [5.21] does not match with shared library magic version [5.37]
  Archive:  /opt/elasticbeanstalk/deploy/appsource/source_bundle
    inflating: /var/app/staging/microservices/my-service/target/my-service.jar  
  Unable to launch application as the source bundle does not contain either a file named application.jar or a Procfile.
  Unable to launch application as the source bundle does not contain either a file named application.jar or a Procfile. (ElasticBeanstalk::ExternalInvocationError)
caused by: Executing: /usr/bin/unzip -o -d /var/app/staging /opt/elasticbeanstalk/deploy/appsource/source_bundle
  FileMagic v0.7.1: compiled magic version [5.21] does not match with shared library magic version [5.37]
  Archive:  /opt/elasticbeanstalk/deploy/appsource/source_bundle
    inflating: /var/app/staging/microservices/my-service/target/my-service.jar  
  Unable to launch application as the source bundle does not contain either a file named application.jar or a Procfile.
  Unable to launch application as the source bundle does not contain either a file named application.jar or a Procfile. (Executor::NonZeroExitStatus)

我的Buildspec:

build:
  commands:
      - mvn -P ci --settings settings.xml install -DskipTests
artifacts:
  files:
     - microservices/my-service/target/my-service.jar

如果我使用AWS Web Interface将这个jar直接部署到AWS Elastic Beanstalk,它会完美地工作。

请帮我。我准备按需共享任何其他配置。

丹尼斯·克里斯托夫

问题出在工件的子文件夹中,无法像我的Buildspec中那样使用工件位置:

artifacts:
  files:
     - microservices/my-service/target/my-service.jar

唯一正确的方法是folder/myapp.jar,例如:

artifacts:
  files:
     - target/my-service.jar

所以你应该outputDirectory在你的Maven配置中指定是否不同

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS Elastic Beanstalk(单个实例):如何为Spring Boot应用程序启用HTTPS?

将cmd文件夹中的golang应用程序部署到AWS Beanstalk

是否将Go 1.6 Web应用程序部署到AWS Elastic Beanstalk?

使用Elastic BeansTalk CLI部署Spring Boot应用程序

将Spring Boot应用程序部署到Elastic Beanstalk时出现502 Bad Gateway

Spring Boot应用程序不在AWS Elastic Beanstalk中进行一次身份验证

AWS Elastic Beanstalk-配置我的Nginx设置以增加Java Spring Maven应用程序的超时

如何从Jenkins将Python应用程序部署到Amazon Elastic Beanstalk?

从AWS Elastic Beanstalk下载应用程序

仅将指定的文件部署到AWS Elastic Beanstalk

部署在Elastic Beanstalk Java环境上的Spring Boot应用程序返回502

自动将GitHub分支部署到AWS Elastic Beanstalk

使用AWS Elastic Beanstalk在AWS上部署Spring Boot应用程序

由于rb-readline而导致使用Elastic Beanstalk将Rails 5应用程序部署到AWS的问题

将角度应用程序部署到AWS Elastic beantalk

AWS CodePipeline-使用现有Dockerrun.aws.json部署到Elastic Beanstalk

将简单的Web应用程序部署到Elastic Beanstalk时没有名为“应用程序”的模块错误

部署到Elastic Beanstalk后,AWS CodePipeline缺少目录/文件

将PHP应用程序部署到Elastic Beanstalk的问题

将yeoman node.js应用程序部署到Elastic Beanstalk

如何为部署到AWS Elastic Beanstalk的ASP.NET应用程序设置应用程序池标识

如何将Spring Boot应用程序大战部署到AWS Elastic Beanstalk?

将 Angular 2 应用程序部署到 AWS Elastic Beanstalk

将 Flask 应用程序部署到 AWS beanstalk 时出现错误 [Errno 2]

将 Java 网站部署到 AWS Elastic Beanstalk

Azure DevOps 将 .net core 部署到 AWS elastic beanstalk

如何使用 CircleCI 将 Java 11 应用程序部署到 AWS Elastic Beanstalk?

将 asp.net Core REACT 应用程序部署到 AWS Beanstalk 时 IdentityServer 出错

将 Rails 6.1 部署到 AWS Elastic Beanstalk 的问题