Gulp 在 Jenkins 中不起作用 [英] Gulp won't work in Jenkins

查看:31
本文介绍了Gulp 在 Jenkins 中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经全局安装了 gulp (npm install gulp -g).但我认为这行不通.当我对本地程序进行 gulp 测试时,它工作正常.但是当我从 github(在 Jenkins 上)对我的(相同的)程序进行 gulp 测试时,它给出了以下错误.它不会识别 gulp 命令.有人能帮我吗?谢谢Jenkins 中的错误:

I've installed gulp globally (npm install gulp -g). But this isn't working I think. When I'm doing gulp test on my local program it works fine. But when I'm doing a gulp test on my (the same) program from github (on Jenkins), it gives the following error. It won't recognize the gulp command. Can someone help me? Thanks Error in Jenkins:

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

但在命令行中它运行良好.

But in commandline it worked well.

    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

推荐答案

为了知道你的 gulp 在哪里,你应该全局定义 gulp 到 ENV(对于所有用户)或者每次都通过节点运行 gulp.js:

For making know where your gulp is you should define gulp to ENV globally (for all users) or just run gulp.js via node every time:

node node_modulesgulpingulp.js test

请记住,jenkins 对您的用户变量一无所知,这是为了进行清晰的测试.它唯一知道的 ENV 变量是全局变量.

Remember that jenkins doesn't know anything about your user variables, this is made for clear testing. The only ENV variables it knows are the global ones.

这篇关于Gulp 在 Jenkins 中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆