Gulp не будет работать в Дженкинсе

Я установил gulp глобально (npm install gulp-g). Но это не работает, я думаю. Когда я делаю тест gulp в своей локальной программе, он работает нормально. Но когда я делаю тест gulp на моей (той же) программе из github (на Дженкинсе), он дает следующую ошибку. Он не распознает команду глотка. Кто-нибудь может мне помочь? Спасибо Ошибка в Jenkins:

[EnvInject] - Loading node environment variables.
Building in workspace C:Program Files (x86)Jenkinsworkspaceproject1
 > C:Program Files (x86)Gitbingit.exe rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > C:Program Files (x86)Gitbingit.exe config remote.origin.url https://github.com/Jelle7/project1.git # timeout=10
Fetching upstream changes from https://github.com/Jelle7/project1.git
 > C:Program Files (x86)Gitbingit.exe --version # timeout=10
 > C:Program Files (x86)Gitbingit.exe -c core.askpass=true fetch --tags --progress https://github.com/Jelle7/project1.git +refs/heads/*:refs/remotes/origin/*
 > C:Program Files (x86)Gitbingit.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10
 > C:Program Files (x86)Gitbingit.exe rev-parse "refs/remotes/origin/origin/master^{commit}" # timeout=10
Checking out Revision 6fe866ee6937a4862ac501c6ce185eda64067ed8 (refs/remotes/origin/master)
 > C:Program Files (x86)Gitbingit.exe config core.sparsecheckout # timeout=10
 > C:Program Files (x86)Gitbingit.exe checkout -f 6fe866ee6937a4862ac501c6ce185eda64067ed8
 > C:Program Files (x86)Gitbingit.exe rev-list 6fe866ee6937a4862ac501c6ce185eda64067ed8 # timeout=10
[karma-test] $ cmd /c call C:WindowsTEMPhudson8554225917848574447.bat

C:Program Files (x86)Jenkinsworkspaceproject1>gulp test 
gulp is not recognized as an internal or external command

C:Program Files (x86)Jenkinsworkspaceproject1>exit 9009 
Build step 'Run Windows batch command.' marked build as failure
Finished: FAILURE

но в командной строке он работал хорошо.

    C:Program Files (x86)Jenkinsworkspaceproject1>gulp test
[15:18:56] Using gulpfile C:Program Files (x86)Jenkinsworkspaceproject1gulp
file.js
[15:18:56] Starting 'scripts'...
[15:18:57] all files 3.26 kB
[15:18:57] Finished 'scripts' after 387 ms
[15:18:57] Starting 'test'...
INFO [karma]: Karma v0.12.31 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
WARN [watcher]: Pattern "C:/Program Files (x86)/Jenkins/workspace/project1/src/*
*/*.mock.js" does not match any file.
INFO [PhantomJS 1.9.8 (Windows 7)]: Connected on socket qZEPgByCA2MGyk1w_0TI wit
h id 43463083
PhantomJS 1.9.8 (Windows 7): Executed 1 of 1 SUCCESS (0.01 secs / 0.017 secs)
[15:18:59] Finished 'test' after 2.44 s

2 ответов


для того, чтобы узнать, где ваш глоток, вы должны определить глоток для ENV глобально (для всех пользователей) или просто запустить глоток.JS через узел каждый раз:

node node_modules\gulp\bin\gulp.js test

помните, что Дженкинс ничего не знает о ваших пользовательских переменных, это сделано для четкого тестирования. Единственные переменные ENV, которые он знает, являются глобальными.


на вашем компьютере windows перейдите в свойства службы Jenkins и измените пользователя входа в систему на пользователя, отличного от System услуги Дженкинс. Я использовал свои учетные данные пользователя, чтобы заставить его работать,и теперь я запускаю команды gulp для сборки из Jenkins на моем Windows slave без проблем. node, npm и gulp команды распознаются.