gitlab-ci.yml игнорирует docker изображение в частных бегунах - PullRequest
0 голосов
/ 08 февраля 2020

Ну, я создал частного бегуна в моем VPS Digital Ocean. Этот частный бегун использует 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}

Но на стадии "test" изображение никогда не извлекается, и я получаю "do tnet команда не найдена ". Но если я перехожу на общий бегун, все работает нормально. Похоже, что «изображение» игнорируется бегуном gitlab. Как я могу решить это?

1 Ответ

1 голос
/ 08 февраля 2020

Если вы хотите использовать Gitlab Runner с docker, вы должны использовать docker executor вместо shell executor.

Вы можете запускать только команды локально на машине, на которой запускается исполнитель, когда использует shell исполнитель .

Я предполагаю, что он работает с общим бегуном, поскольку может иметь исполнителя docker.

...