2016-10-22 14 views
2

私は.gitlab-ci.ymlで、次の構成があります。GitLabランナーのみ実行する1つのコマンド

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 
関連する問題