Amazon web services Bitbucket管道用于构建Java应用程序、Docker映像并将其推送到AWS ECR?

Amazon web services Bitbucket管道用于构建Java应用程序、Docker映像并将其推送到AWS ECR?,amazon-web-services,docker,continuous-integration,bitbucket-pipelines,amazon-ecr,Amazon Web Services,Docker,Continuous Integration,Bitbucket Pipelines,Amazon Ecr,我正在为我的Java应用程序设置Bitbucket管道,我想要实现的是,每当我将某个东西与branch master合并时,Bitbucket就会启动管道,第一步构建并测试我的应用程序,第二步从中构建Docker映像并将其推送到ECR。问题是,在第二步中,不可能使用第一步中创建的JAR文件,因为每个步骤都是在一个单独的、新的Docker容器中创建的。有什么办法解决吗 我当前的文件是: 1) bitback-pipelines.yaml pipelines: branches: mas

我正在为我的Java应用程序设置Bitbucket管道,我想要实现的是,每当我将某个东西与branch master合并时,Bitbucket就会启动管道,第一步构建并测试我的应用程序,第二步从中构建Docker映像并将其推送到ECR。问题是,在第二步中,不可能使用第一步中创建的JAR文件,因为每个步骤都是在一个单独的、新的Docker容器中创建的。有什么办法解决吗

我当前的文件是:

1) bitback-pipelines.yaml

pipelines:
  branches:
    master:
      - step:
          name: Build and test application
          services:
            - docker
          image: openjdk:11
          caches:
            - gradle
          script:
            - apt-get update
            - apt-get install -y python-pip
            - pip install --no-cache-dir docker-compose
            - bash ./gradlew clean build test testIntegration

      - step:
          name: Build and push image
          services:
            - docker
          image: atlassian/pipelines-awscli
          caches:
            - gradle
          script:
            - echo $(aws ecr get-login --no-include-email --region us-west-2)  > login.sh
            - sh login.sh
            - docker build -f Dockerfile -t my-application .
            - docker tag my-application:latest 212234103948.dkr.ecr.us-west-2.amazonaws.com/my-application:latest
            - docker push 212234103948.dkr.ecr.us-west-2.amazonaws.com/my-application:latest
2) Dockerfile:

FROM openjdk:11
VOLUME /tmp
EXPOSE 8080
COPY build/libs/*.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
我收到的错误是:

Step 4/5 : COPY build/libs/*.jar app.jar
COPY failed: no source files were specified

我已经找到了解决方案,非常简单-我们应该只使用“工件”特性,所以在第一步中,附加行:

artifacts:
- build/libs/*.jar
解决了这个问题