Jenkins integration with Grunt Jenkins integration with Grunt jenkins jenkins

Jenkins integration with Grunt


for nice easy to configure self-installed nodejs on the machine, i have to recommend the excellent -> http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

it will install nodejs and grunt on the machine, through easy to use web front end no shell required

jenkins jobs can then simply run nodejs build steps, hey presto

steps involved :

a) install this on your jenkins instance -> http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin

b) create a nodejs installation on jenkins

go to

http://URL_OF_JENKINS/jenkins/configure
  • NodeJS- > NodeJS installations -> Add NodeJS -> Name = "NodeJS 0.11.10", tick "Install automatically", select "Install from nodejs.org", add "grunt-cli" to globally installed packages

c) create a job with "execute NodeJS script" build task

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

volia :)

run the job and see the nodejs script run,

from their the world is your oyster you can use grunt by ticking "Provide Node/npm bin folder to PATH" and running a "execute shell" build task

npm updategruntgrunt --force reporting


You will need to restart the Jenkins service after installing node, presumably to cause it to refresh its cached copy of your PATH environment variable


I have grunt doing some tasks for me in Jenkins, but I went the npm script route. Grunt and grunt-cli are dev dependencies, and I have the following defined in my package.json file:

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

In Jenkins (running on Windows), I added two post-build tasks:

npm installnpm test

We just installed NodeJs normally on the Jenkins server.