gitlab-ci.yml忽略私人跑步者中的docker镜像

时间:2020-02-08 15:29:10

标签: gitlab gitlab-ci gitlab-ci-runner

好吧,我在Digital Ocean VPS中创建了一个私人跑步者。这个私人赛跑者正在使用 shell executor ,这是我的gitlab-ci.yml文件:

variables:
  VERSION_NAME: ${CI_COMMIT_REF_NAME}-${CI_CONCURRENT_ID}

before_script:
  - docker info

stages:
  - test
  - build
  - deploy
  - delivery

test_project:
  tags: 
    - safepark
  stage: test
  image: mcr.microsoft.com/dotnet/core/sdk:2.1
  script:
    - dotnet test

build_image:
  tags: 
    - safepark
  only:
    - master
  stage: build
  script:
    - docker build -f WebApi/Dockerfile -t myuser/myimage
    - docker tag -t myuser/myimage myuser/myimage:${VERSION_NAME}

push_image:
  tags: 
    - safepark
  only:
    - master
  stage: deploy
  script:
    - docker push myuser/myimage
    - docker push myuser/myimage:${VERSION_NAME}

但是在“测试”阶段,图像从未被拉出,并且出现了“未找到dotnet命令”。但是,如果我改为共享跑步者,一切都会很好。好像“图像”被gitlab运行程序忽略。我该如何解决?

1 个答案:

答案 0 :(得分:1)

当您想在docker上使用Gitlab Runner时,必须使用use the docker executor而不是shell执行程序。

您只能在using the shell executor时在运行执行程序的计算机上本地运行命令。

我认为它正在共享运行程序上运行,因为它可能具有docker executor。