首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gitlab对接跑步机的路径问题。gitlab-ci.yml

Gitlab对接跑步机的路径问题。gitlab-ci.yml
EN

Stack Overflow用户
提问于 2020-02-11 23:51:52
回答 1查看 1.4K关注 0票数 1

我试图使用gitlab-ci.yml文件在Gitlab中运行一个管道,并使用一个运行码头映像的运行程序,但是我得到了一个错误,因为运行程序找不到正确的路径到Dockerfile。

这是我的yml文件

代码语言:javascript
复制
    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:

这就是我所犯的错误

代码语言:javascript
复制
 $ 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中编写路径的不同方法,但似乎没有一种方法有效。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-12 02:40:32

必须在项目根目录中有Dockerfile

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

例如docker build --pull -t $TEST_IMAGE -f ./some-dir/Dockerfile .

一些dir ==文档文件所在的项目中的目录。

在执行每个作业之前,项目回购首先被克隆到CI_PROJECT_DIR中,CI_PROJECT_DIR是..gitlab ci.yml将存在的dir,作业脚本也是从该目录运行的。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60179087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档