gpt4 book ai didi

docker - Gitlab docker Runner路径问题。 gitlab-ci.yml

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

我正在尝试使用gitlab-ci.yml文件和可以运行docker镜像的运行程序在Gitlab中运行管道,但是由于运行程序找不到正确的Dockerfile路径,我遇到了一个错误

这是我的yml文件

    image: docker:latest
services:
- docker:dind

stages:
- build
- test
- release

variables:
TEST_IMAGE: 193.206.43.98:5555/apfeed/apserver:$CI_COMMIT_REF_NAME
RELEASE_IMAGE: 193.206.43.98:5555/ap:latest

before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"

build:
stage: build
script:
- docker build --pull -t $TEST_IMAGE .
- docker push $TEST_IMAGE

test:
stage: test
services:
- mongo:bionic
script:
- docker pull $TEST_IMAGE
- docker run $TEST_IMAGE npm test

release:
stage: release
script:
- docker pull $TEST_IMAGE
- docker tag $TEST_IMAGE $RELEASE_IMAGE
- docker push $RELEASE_IMAGE
only:

这是我得到的错误
 $ docker build --pull -t $TEST_IMAGE .
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/gitlab-runner/builds/WsYiLtmC/0/al/apfeed/Dockerfile: no such file or directory
ERROR: Job failed: exit status 1

我尝试了几种在 TEST IMAGE行中写入路径的方法,但是似乎都没有用

最佳答案

您必须在项目根目录中具有Dockerfile

要么

如果相对路径位于项目存储库的子目录中,则可以将其传递给Dockerfile。

例如docker build --pull -t $TEST_IMAGE -f ./some-dir/Dockerfile .
some-dir == 项目存储库中Dockerfile所在的目录。

在执行每个作业之前,首先将项目存储库克隆到CI_PROJECT_DIR中,然后
CI_PROJECT_DIR是.gitlab-ci.yml所在的目录,作业脚本也从该目录运行。

https://docs.gitlab.com/ee/ci/variables/README.html

关于docker - Gitlab docker Runner路径问题。 gitlab-ci.yml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60179087/

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