根据docs
配置的现有管道
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信息,因为我已经在全球范围内创建了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
为什么会出现这种情况?在docs中,我找不到有关此行为的信息