首页 > 解决方案 > 使用 AWS CodePipeline 部署 Spring Boot 应用程序

问题描述

尝试使用 AWS Codepipeline 部署我的 Spring Boot 应用程序时出现以下错误。

无法启动应用程序,因为源包不包含名为 application.jar 的文件或 Procfile。无法启动应用程序,因为源包不包含名为 application.jar 的文件或 Procfile。

尝试部署应用程序时。

我尝试将 CodePipeline 用于 CI/CD(使用 github 存储库)。
我的管道中有 3 个阶段:

  1. Source,我在哪里获得源代码
  2. 构建,输入工件:源,输出工件:build_artifact
  3. 部署,输入工件:buid_artifact

现在,前两个阶段工作,我没有任何问题,问题是我无法部署应用程序。
这是日志https://pastebin.com/RZxzMb2c]

我发现这个线程 Deploy Spring Boot application with Elastic BeansTalk CLI并且我意识到我没有 .elasticbeanstalk 文件夹,我尝试使用 eb init 创建它,但它让我使用 codecommit 而不是 github 所以我只是从那个分支复制它.
这是来自 .elasticbeanstalk 的 config.yml

branch-defaults:
  master:
    environment: ProiectIp-env
environment-defaults:
  ProiectIp-env:
    branch: null
    repository: null
deploy:
  artifact: build/libs/application.jar
global:
  application_name: proiect-ip
  default_ec2_keyname: null
  default_platform: Java 8
  default_region: eu-central-1
  include_git_submodules: true
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: eb-cli
  sc: git
  workspace_type: Application

我尝试将 deploy : artifact : build/libs/application.jar 放在上面的线程中,但我仍然遇到同样的错误。
这是我的 buildspec.yml

version: 0.2

phases:
  install:
    runtime-versions:
      java: corretto8
  pre_build:
    commands:
      - echo Nothing to do in the pre_build phase...
  build:
    commands:
      - echo Build started on `date`
      - gradle build
  post_build:
    commands:
      - echo Build completed on `date`
artifacts:
  files:
    - build/libs/application.jar

我正在使用 gradle 并设置了 rootProject.name = 'application',创建了 application.jar 文件,如构建日志中所示:https ://pastebin.com/NXHpwGLb和部署日志(搜索 build/libs /application.jar)
这是我的 .gitignore 文件,我不知道这是否有任何帮助: https ://pastebin.com/8q1UwmyL

我尝试使用codecommit,将deploy ...,它只是不想工作,我不知道该怎么办了

标签: amazon-web-servicesspring-bootaws-codepipelineawsdeploy

解决方案


推荐阅读