我的CI跑步者只会跑一行.我想在eslint之前运行npm install.但是,如果我将npm install添加到before_script部分,那么只运行npm install并且构建报告成功,而不会实际运行eslint.
Windows shell runner上不支持多个命令吗?
我也尝试将npm install移动到lint作业,结果相同.
我在windows主机上安装了gitlab多跑步者.这是我的.gitlab-ci.yml
before_script:
- npm install
stages:
- test
cache:
key: "$CI_BUILD_REF_NAME"
paths:
- node_modules/
lint:
stage: test
tags:
- javascript
script:
- eslint **/*.js
最佳答案 解
您需要在.gitlab-ci.yml文件中的任何npm命令之前添加“call”:
before_script:
- 'call npm install'
使用Windows shell runner时,所有npm命令都需要它.
说明
npm是一个shell脚本.因此,您必须添加调用以在子shell中执行此脚本.否则,npm脚本中的“exit”命令将关闭gitlab启动的shell.
见https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1025