我试图用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
作业中生成的 Artifact ,然后才能在docker_build
作业中将其下载(使用依赖项)
在此文档中,您有很多有关如何处理它的示例https://docs.gitlab.com/ee/ci/yaml/#artifacts
再看这个例子:https://docs.gitlab.com/ee/ci/yaml/#dependencies
关于docker - 从gitlab ci使用docker发布镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64015524/