2015-04-02 17 views
8

Ich habe Schluck global installiert (npm install gulp -g). Aber das funktioniert nicht, denke ich. Wenn ich Schluck-Test auf meinem lokalen Programm mache, funktioniert es gut. Aber wenn ich einen Schluck-Test auf meinem (demselben) Programm von GitHub (auf Jenkins) mache, gibt es den folgenden Fehler. Es wird den Schluckbefehl nicht erkennen. Kann mir jemand helfen? Dank Fehler bei Jenkins:Gulp funktioniert nicht in 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 

Aber in Command funktionierte es gut.

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 

Antwort

13

Für die Herstellung wissen, wo Ihr Zug ist Sie schluck definieren sollten global nach ENV (für alle Benutzer) oder nur gulp.js über den Knoten jedes Mal ausgeführt wird:

node node_modules\gulp\bin\gulp.js test 

Denken Sie daran, dass jenkins nicht Wenn Sie etwas über Ihre Benutzervariablen wissen, wird dies für ein eindeutiges Testen gemacht. Die einzigen ENV-Variablen, die es kennt, sind die globalen.

+0

Es gibt einen Ordner mit dem Namen ".bin", den Sie verwenden möchten, um den Schluck zu starten. node_modules \ .bin \ gulp-Test – FireGnome

0

Wechseln Sie auf Ihrer Windows-Maschine zu den Jenkins-Diensteigenschaften und ändern Sie den Anmeldebenutzer für den Jenkins-Dienst in einen anderen Benutzer als System. Ich benutzte meine angemeldeten Benutzer-Zugangsdaten, um es zum Laufen zu bringen und jetzt liefere ich Schluckbefehle, um von Jenkins auf meinem Windows-Sklaven ohne Problem alle zu bauen. node, npm und gulp Befehle werden alle erkannt.

Verwandte Themen