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

How to deploy a Java 11 app to AWS Elastic Beanstalk with CircleCI?

我正在尝试通过 CircleCI 使用 Docker 容器将 Java 11 应用程序部署到 EB。 配置文件应该是什么样的?

构建阶段正常,但部署阶段停止到 CircleCI 找不到 Docker 文件和 Dockerrun.aws.json 文件的地步。

我尝试在 mvn package 之后压缩 jar 和 docker 文件,但我不确定我遗漏了什么。

在.circleci/config.yml

jobs:
  build:
    docker:
      - image: circleci/openjdk:11.0.2-jdk
.
.
.
      - run:
          name: Build artifacts
          command: |
            mvn package
            zip Docker/myapp-0.1.0.zip target/myapp-0.1.0.jar Docker/Dockerfile Docker/Dockerrun.aws.json
.
.
.
  deploy-to-dev:
    docker:
      - image: circleci/openjdk:11.0.2-jdk
.
.
.
      - run:
          name: Deploy to Dev
          command: |
            sudo apt-get install python-setuptools
            sudo easy_install pip
            sudo pip install awsebcli --upgrade            
            eb use myapp-env --profile circleci
            eb deploy -v --profile circleci

在.elasticbeanstalk/config.yml

deploy:
  artifact: Docker/myapp-0.1.0.zip

现在 CircleCI 给出以下错误

2019-10-21 07:27:00 INFO Environment update is starting.
2019-10-21 07:27:04 INFO Deploying new version to instance(s).

2019-10-21 07:27:10 ERROR Dockerfile and Dockerrun.aws.json are both missing, abort deployment

原来我只需要在压缩命令中添加 -j

zip -j Docker/myapp-0.1.0.zip target/myapp-0.1.0.jar Docker/Dockerfile Docker/Dockerrun.aws.json

现在找到文件并部署应用程序。