詹金斯与Grunt整合

tem*_*pid 19 node.js jenkins jenkins-plugins gruntjs grunt-cli

我在Windows Server 2008 R2上安装了Jenkins v1.550.它暂时作为服务运行http://localhost:8080.我以管理员身份登录计算机.我已经安装了Node.js,可以从命令行运行"npm".

我还为Jenkins安装了NodeJS插件v0.2.1.然后我进入Jenkins的Configure System部分,向下滚动到NodeJS安装,单击Add NodeJS按钮,将"NodeJS"作为名称,并将"C:\ Program Files \nodejs"作为安装目录的路径.我没有检查"自动安装"选项,因为我在插件页面上看到它只适用于Linux.

然后我创建了一个新工作,单击了"将节点和npm bin /文件夹提供给PATH"的复选框,为"执行Windows批处理命令"创建了一个新的构建步骤,并输入"node --version"和"grunt - 版本"并保存.

我跑了工作,这是输出 -

Building in workspace C:\Program Files (x86)\Jenkins\workspace\Test_1.0
[Test_1.0] $ cmd /c call C:\Windows\TEMP\hudson1381541243088903083.bat

C:\Program Files (x86)\Jenkins\workspace\Test_1.0>node --version 
v0.10.24

C:\Program Files (x86)\Jenkins\workspace\Test_1.0>grunt --version 
'grunt' is not recognized as an internal or external command,
operable program or batch file.

C:\Program Files (x86)\Jenkins\workspace\Test_1.0>exit 9009 
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

看起来它无法找到Jenkins在(System)下运行的用户帐户的grunt-cli.我试图安装grunt cli global(npm install -g grunt-cli)和grunt local(npm install grunt).没运气.

有人可以帮忙吗?

aqm*_*aqm 22

为了在机器上轻松配置自安装的nodejs,我必须推荐优秀的 - > http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

它将在机器上安装nodejs和grunt,通过易于使用的Web前端无需外壳

然后jenkins工作可以简单地运行nodejs构建步骤,嘿presto

涉及的步骤:

a)在你的jenkins实例上安装它 - > http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

b)在jenkins上创建一个nodejs安装

http://URL_OF_JENKINS/jenkins/configure
Run Code Online (Sandbox Code Playgroud)
  • NodeJS-> NodeJS安装 - >添加NodeJS - > Name ="NodeJS 0.11.10",勾选"自动安装",选择"从nodejs.org安装",将"grunt-cli"添加到全局安装的包中

c)使用"执行NodeJS脚本"构建任务创建作业

var sys = require('sys');
sys.puts('NodeJS Test');
sys.puts('***************');
sys.puts('helloworld');
Run Code Online (Sandbox Code Playgroud)

volia :)

运行作业并看到nodejs脚本运行,

从他们的世界是你的牡蛎你可以通过勾选"提供Node/npm bin文件夹到PATH"并运行"执行shell"构建任务来使用grunt

npm update
grunt
grunt --force reporting
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的回答.我已经访问了你提到的链接.自动安装仅适用于Linux x86/64计算机,而不适用于我正在使用的Windows. (4认同)

And*_*ock 6

安装节点后,您需要重新启动Jenkins服务,大概是为了让它刷新PATH环境变量的缓存副本


Stu*_*art 5

我在Jenkins为我做了一些咕噜咕噜的任务,但是我去了npm脚本路线.Grunt和grunt-cli是dev依赖项,我在package.json文件中定义了以下内容:

"scripts": {
    "test": "node node_modules/grunt-cli/bin/grunt test"
},
Run Code Online (Sandbox Code Playgroud)

在Jenkins(在Windows上运行)中,我添加了两个构建后的任务:

npm install

npm test
Run Code Online (Sandbox Code Playgroud)

我们刚刚在Jenkins服务器上安装了NodeJ.