Gitlab CI - Почему настройки `` изображения 'задания влияют на глобальные `before_script` и` image`? - PullRequest
0 голосов
/ 12 июня 2019

Существующий конвейер настроен в соответствии с документами

image: docker:stable

variables:
   DOCKER_HOST: tcp://docker:2375/
   DOCKER_DRIVER: overlay2

services:
  - docker:dind

before_script:
  - docker version

stages:
  - test

test:lint:
  stage: test
  tags:
    - docker
  cache:
    paths:
    - node_modules/
  script:
    - npm i -g yarn
    - yarn
    - yarn lint

Трубопроводная добыча падает, как и ожидалось

$ npm i -g yarn
/bin/sh: eval: line 85: npm: not found

но я успешно получаю информацию о докере из секции before_script, потому что у меня есть docker сервисы, созданные глобально

Затем я хочу отредактировать свою неудавшуюся работу и основать ее на изображении с помощью node, где я могу использовать команду npm.

Новый трубопровод

image: docker:stable

variables:
   DOCKER_HOST: tcp://docker:2375/
   DOCKER_DRIVER: overlay2

services:
  - docker:dind

before_script:
  - docker version

stages:
  - test

test:lint:
  image: node:10.13-alpine
  stage: test
  tags:
    - docker
  cache:
    paths:
    - node_modules/
  script:
    - npm i -g yarn
    - yarn
    - yarn lint

и получите ошибку для before_script

/bin/sh: eval: line 83: docker: not found
$ docker version

почему я получаю такое поведение? В документах я не могу найти информацию об этом поведении

...