Как использовать разные образы Docker для запуска сценариев на этапе? - PullRequest
0 голосов
/ 02 декабря 2018

Начиная с .gitlab-ci.yml, вот так:

image: docker:latest
services:
  - docker:dind

stages:
  - stage1
  - stage2

doStage1:
  stage: stage1
script:
  - docker build -t <container> .
  - docker push <container>
only:
  - master

doStage2:
  stage: stage2
  image: alpine:latest
  script:
    script:
     - cat /etc/os-release
only:
  - master

Я бы ожидал, что stage2 запускается на образе альпийского докера, но это не так, вывод команды cat показывает мне:

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

который является бегуном на gitlab, что я здесь не так понимаю?из gitlab ci docs говорит, что мы можем использовать разные образы докеров для каждой стадии

1 Ответ

0 голосов
/ 03 декабря 2018

Если кто-то заинтересовался этим вопросом, я наконец выяснил, что происходит.В gitlab runner был настроен shell executor вместо docker executor, так как он не смог обработать image: свойство.

Я подготовил другого бегуна с docker executor ивсе работало как положено.

...