gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 19:21:26 26 4
gpt4 key购买 nike

我正在为我的 Java 应用程序设置 Bitbucket 管道,我想要实现的是每当我与分支主合并某些东西时,Bitbucket 会触发管道,在第一步构建和测试我的应用程序,然后在第二步从中构建 Docker 镜像和将其推送到 ECR。问题是在第二步中不可能使用在第一步中制作的 JAR 文件,因为每一步都是在一个单独的、全新的 Docker 容器中制作的。任何想法如何解决它?

我目前的文件是:

1) Bitbucket-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”功能,所以在第一步中添加一行:

artifacts:
- build/libs/*.jar

解决了这个问题。

关于amazon-web-services - 用于构建 Java 应用程序、Docker 镜像并将其推送到 AWS ECR 的 Bitbucket 管道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59399468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com