2016-10-22 38 views
2

我在.gitlab-ci.yml以下配置:GitLab转轮仅执行一个命令

stages: 
- build 

build: 
    stage: build 
    script: 
    - npm install -g gulp 
    - npm install 
    - gulp 

但奔跑者只执行第一命令(npm install -g gulp)。它运行第一个命令并报告成功,而不执行其他命令。

创建日志:

Running with gitlab-ci-multi-runner 1.6.1 (c52ad4f) 
Using Shell executor... 
Running on WINBUILDER... 

Fetching changes... 

HEAD is now at 2df18c5 Update .gitlab-ci.yml 
From https://.../client 
    2df18c5..b4efae8 master  -> origin/master 
Checking out b4efae85 as master... 

$ npm install -g gulp 

C:\Users\Administrator\AppData\Roaming\npm\gulp -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js 
C:\Users\Administrator\AppData\Roaming\npm 
`-- [email protected] 

Build succeeded 

我见过一个阶段使用多个命令的几个配置实例。我不明白为什么其他命令没有运行。

回答

7

它实际上是一个错误的NPM如下所述:

https://github.com/npm/npm/issues/2938

NPM退出时关闭外壳和后续命令都不会被调用。

上述问题中描述了一种解决方法。在拨打NPM之前只需添加一个call命令:

stages: 
- build 

build: 
    stage: build 
    script: 
    - call npm install -g gulp 
    - call npm install 
    - gulp