2015-04-02 78 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命令全部被识别。