从 gitlab ci 使用 docker 发布图像
Publishing image with docker from gitlab ci
我正在尝试使用 gradle 创建我的 war 工件并将其推送到我的远程图像存储库。但问题是我得到了
COPY failed: stat /var/lib/docker/tmp/docker-builder756634785/build/libs/myartifact.war: no such file or directory.
所以,它无法到达我的神器
如何指向正确的位置?
//gitlab-ci.yaml
stages:
- build
variables:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
GRADLE_OPTS: "-Dorg.gradle.caching=true"
build:
image: gradle:alpine
stage: build
script:
- ./gradlew clean build -i
docker_build:
image: docker:latest
stage: build
services:
- docker:dind
script:
- docker build --pull -t myrepo.io/myimage:latest .
- docker login myrepo.io -u username -p pass
- docker push myrepo.io/myimage:latest
您需要导出在 build
作业中生成的工件,之后您将能够在 docker_build
作业中下载它(使用依赖项)
在这个文档中,你有很多关于如何处理它的例子https://docs.gitlab.com/ee/ci/yaml/#artifacts
我正在尝试使用 gradle 创建我的 war 工件并将其推送到我的远程图像存储库。但问题是我得到了
COPY failed: stat /var/lib/docker/tmp/docker-builder756634785/build/libs/myartifact.war: no such file or directory.
所以,它无法到达我的神器
如何指向正确的位置?
//gitlab-ci.yaml
stages:
- build
variables:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
GRADLE_OPTS: "-Dorg.gradle.caching=true"
build:
image: gradle:alpine
stage: build
script:
- ./gradlew clean build -i
docker_build:
image: docker:latest
stage: build
services:
- docker:dind
script:
- docker build --pull -t myrepo.io/myimage:latest .
- docker login myrepo.io -u username -p pass
- docker push myrepo.io/myimage:latest
您需要导出在 build
作业中生成的工件,之后您将能够在 docker_build
作业中下载它(使用依赖项)
在这个文档中,你有很多关于如何处理它的例子https://docs.gitlab.com/ee/ci/yaml/#artifacts