jenkins与Grunt整合

我已经在Windows Server 2008 R2上安装了Jenkins v1.550。 它现在作为服务在http://localhost:8080运行。 我以pipe理员身份login到计算机。 我已经安装Node.js,并可以从命令行运行“npm”。

我还为Jenkins安装了NodeJS插件v0.2.1。 然后进入Jenkins的Configure System部分,滚动到NodeJS安装,点击Add NodeJSbutton,给出“NodeJS”作为名称,“C:\ Program Files \ nodejs”作为安装目录的path。 我没有检查“自动安装”选项,因为我在插件页面上阅读,它只能用于Linux。

然后我创build了一个新的工作,点击“提供Node&npm bin /文件夹到PATH”checkbox,为“执行Windows批处理命令”创build了一个新的构build步骤,并在“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 

它看起来像无法findJenkins在(系统)下运行的用户帐户的grunt-cli。 我试图在全球范围内安装grunt cli( npm install -g grunt-cli )并且在本地npm install gruntnpm install grunt )。 没有运气。

有人可以帮忙吗?

为了很好的configuration在机器上自行安装的nodejs,我必须推荐优秀 – > http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

它会在机器上安装nodejs和grunt,通过简单易用的web前端无需shell

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

涉及的步骤:

一)安装在您的jenkins实例 – > http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

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

 http://URL_OF_JENKINS/jenkins/configure 
  • NodeJS-> NodeJS安装 – > Add NodeJS – > Name =“NodeJS 0.11.10”,勾选“自动安装”,select“从nodejs.org安装”,在全局安装的软件包中添加“grunt-cli”

c)用“执行NodeJS脚本”构build任务创build一个作业

 var sys = require('sys'); sys.puts('NodeJS Test'); sys.puts('***************'); sys.puts('helloworld'); 

volia 🙂

运行该作业并查看nodejs脚本运行,

从他们的世界是你的牡蛎你可以使用咕噜,勾选“提供节点/ npm bin文件夹path”,并运行“执行shell”生成任务

 npm update grunt grunt --force reporting 

在安装节点之后,您将需要重新启动Jenkins服务,可能会导致它刷新PATH环境variables的caching副本

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

 "scripts": { "test": "node node_modules/grunt-cli/bin/grunt test" }, 

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

 npm install npm test 

我们刚刚在Jenkins服务器上安装了NodeJs。

在Windows上为我工作的另一个解决scheme是使用grunt exec文件的完整path,可以通过在命令shell中编写“where grunt”来find它。 我使用了常规bat文件中的完整path。

在Windows上有相同的问题。 当我手动安装节点并从命令行运行npm install -g grunt-cli时,jenkins无法识别grunt命令。 所以卸载节点,重新安装它,但不运行npm安装。 然后重新启动jenkins奴隶。 然后从运行在你的特定jenkins奴隶上的jenkins作业,运行一个运行npm install -g grunt-cli的Windows批处理命令之后,再次重启jenkins服务。 然后从作业运行npm install 。 那么一切为我工作。 如果问题仍然存在,然后卸载奴隶,并重新安装,然后一切工作正常。