2016-10-22 65 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