2015-04-02 75 views
8

我已經在全球安裝了gulp(npm install gulp -g)。但我認爲這不起作用。當我在我的本地程序中進行吞吐測試時,它工作正常。但是當我從github(在Jenkins上)對我的(同一個)程序進行吞嚥測試時,會出現以下錯誤。它不會識別吞嚥命令。 有人可以幫我嗎?由於 錯誤詹金斯:Gulp不會在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 

但在命令行,效果不錯。

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 

回答

13

爲了使知道你一飲而盡是你應該定義一飲而盡在全球ENV(爲所有用戶),或只運行通過節點gulp.js每次:

node node_modules\gulp\bin\gulp.js test 

記住,詹金斯不知道你的用戶變量的任何信息,這是爲了明確的測試。它知道的唯一ENV變量是全球變量。

+0

有一個名爲'.bin'的文件夾,您可能想用它來運行吞嚥。 node_modules \ .bin \ gulp測試 – FireGnome 2017-06-02 08:13:51

0

在您的Windows機器上,轉至Jenkins服務屬性,並將登錄用戶更改爲除Jenkins服務的System以外的用戶。我使用我登錄的用戶憑證來使其工作,現在我正在運行gplp命令從我的windows從站上的Jenkins構建,沒有任何問題。 nodenpmgulp命令全部被識別。