Gulp no funcionará en Jenkins

He instalado gulp globalmente (npm install gulp -g). Pero esto no está funcionando, creo. Cuando estoy haciendo la testing de gulp en mi progtwig local, funciona bien. Pero cuando hago una testing de gulp en mi (el mismo) progtwig de github (en Jenkins), aparece el siguiente error. No reconocerá el command gulp. ¿Alguien me puede ayudar? Gracias Error en Jenkins:

[EnvInject] - Loading node environment variables. Building in workspace C:\Program Files (x86)\Jenkins\workspace\project1 > C:\Program Files (x86)\Git\bin\git.exe rev-parse --is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > C:\Program Files (x86)\Git\bin\git.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)\Git\bin\git.exe --version # timeout=10 > C:\Program Files (x86)\Git\bin\git.exe -c core.askpass=true fetch --tags --progress https://github.com/Jelle7/project1.git +refs/heads/*:refs/remotes/origin/* > C:\Program Files (x86)\Git\bin\git.exe rev-parse "refs/remotes/origin/master^{commit}" # timeout=10 > C:\Program Files (x86)\Git\bin\git.exe rev-parse "refs/remotes/origin/origin/master^{commit}" # timeout=10 Checking out Revision 6fe866ee6937a4862ac501c6ce185eda64067ed8 (refs/remotes/origin/master) > C:\Program Files (x86)\Git\bin\git.exe config core.sparsecheckout # timeout=10 > C:\Program Files (x86)\Git\bin\git.exe checkout -f 6fe866ee6937a4862ac501c6ce185eda64067ed8 > C:\Program Files (x86)\Git\bin\git.exe rev-list 6fe866ee6937a4862ac501c6ce185eda64067ed8 # timeout=10 [karma-test] $ cmd /c call C:\Windows\TEMP\hudson8554225917848574447.bat C:\Program Files (x86)\Jenkins\workspace\project1>gulp test gulp is not recognized as an internal or external command C:\Program Files (x86)\Jenkins\workspace\project1>exit 9009 Build step 'Run Windows batch command.' marked build as failure Finished: FAILURE 

Pero en command-line funcionó bien.

  C:\Program Files (x86)\Jenkins\workspace\project1>gulp test [15:18:56] Using gulpfile C:\Program Files (x86)\Jenkins\workspace\project1\gulp 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 

Para saber dónde está su gulp, debe definir gulp en ENV globalmente (para todos los usuarios) o simplemente ejecutar gulp.js vía nodo cada vez:

 node node_modules\gulp\bin\gulp.js test 

Recuerde que jenkins no sabe nada sobre sus variables de usuario, esto se hace para testings claras. Las únicas variables ENV que conoce son las globales.

En su máquina de Windows vaya a las properties de service de Jenkins y cambie el usuario de inicio de session a un usuario que no sea el System para el service de Jenkins. Utilicé mis cnetworkingenciales de usuario registradas para que funcione y ahora estoy ejecutando commands gulp para comstackr desde Jenkins en mi esclavo de Windows sin ningún problema. node commands node , npm y gulp son todos reconocidos.