我在Windows Server 2008 R2上设置了Jenkins v1.550。它现在作为http://localhost:8080
的服务运行。我以管理员身份登录了本机。我已经安装了Node.js并可以运行" npm"从命令行。
我还为Jenkins安装了NodeJS插件v0.2.1。然后我走进詹金斯的配置系统部分,向下滚动到安装的NodeJS,点击添加按钮的NodeJS,让"&的NodeJS#34;作为名称," C:\ Program Files \ nodejs"作为安装目录的路径。我没有检查"自动安装"我在插件页面上读到的选项,它只适用于Linux。
然后我创建了一个新工作,点击了表示"提供节点&的复选框。 npm bin /文件夹到PATH",为"执行Windows批处理命令"创建了一个新的构建步骤。并输入" node --version"和" grunt --version"并保存了它。
我跑完了这份工作,这就是输出 -
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
看起来它无法找到Jenkins在(系统)下运行的用户帐户的grunt-cli。我试图在全局范围内安装grunt cli(npm install -g grunt-cli
)并在本地安装grunt(npm install grunt
)。没有运气。
有人可以帮忙吗?
答案 0 :(得分: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
c)使用“执行NodeJS脚本”构建任务创建作业
var sys = require('sys');
sys.puts('NodeJS Test');
sys.puts('***************');
sys.puts('helloworld');
volia:)
运行作业并看到nodejs脚本运行,
来自他们的世界是你的牡蛎你可以通过勾选“提供节点/ npm bin文件夹到PATH”并运行“执行shell”构建任务来使用grunt
npm update
grunt
grunt --force reporting
答案 1 :(得分:6)
您需要在安装节点后重新启动Jenkins服务,可能是为了让它刷新其PATH
环境变量的缓存副本
答案 2 :(得分:5)
我在Jenkins为我做了一些咕噜咕噜的任务,但是我去了npm脚本路线。 Grunt和grunt-cli是dev依赖项,我在package.json文件中定义了以下内容:
"scripts": {
"test": "node node_modules/grunt-cli/bin/grunt test"
},
在Jenkins(在Windows上运行)中,我添加了两个构建后的任务:
npm install
npm test
我们刚刚在Jenkins服务器上安装了NodeJ。
答案 3 :(得分:1)
在Windows上为我工作的另一个解决方案是使用grunt exec文件的完整路径,可以通过在命令shell中编写“where grunt”来找到它。我在常规bat文件中使用了完整路径。
答案 4 :(得分:1)
在Windows上遇到同样的问题。当我手动安装节点并从命令行运行npm install -g grunt-cli时,jenkins无法识别grunt命令。所以卸载节点,重新安装它,但不要运行npm install。然后重启jenkins奴隶。然后从运行在特定jenkins slave上的jenkins作业中,使其运行运行 npm install -g grunt-cli 的Windows批处理命令。之后再次重启jenkins服务。然后从作业运行 npm install 。然后一切都适合我。如果问题仍然存在,那么卸载奴隶并重新安装,然后一切正常。