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

Это фактически ошибка НПМ, как описано здесь:

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

NPM закрывает оболочку на выходе и последующие команды не называются.

Обходной путь описан выше. Просто добавьте команду call перед вызовом НПМ:

stages: 
- build 

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