Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,369,309
Community Members
 
Community Events
168
Community Groups

'node' not found when running Grunt task in Bamboo

I have a build Plan that I want to have execute a Grunt task.

The server has Node and Grunt installed and will successfully run the Grunt task from the command line ("grunt default"). However when I add this as a Script task to Bamboo I get the following error:

'node' is not recognized as an internal or external command,
operable program or batch file.

Previously it was throwing the same error but with 'grunt' instead of 'node' but I managed to resolve this by forcing Grunt CLI to install in a previous task using 'npm'.

Bamboo is configured with a Server Capability for the Node.exe and I have installed the NodeJS Bamboo plugin.

I have also restarted the Bamboo service so that it will run under the Administrator user (which is the user I ran the successful build under) but with no luck

Has anyone any ideas how to get this resolved?

Thanks, Stuart

2 answers

1 accepted

1 vote
Answer accepted

If anyone finds this, I had the same issue and fixed it by simply copying the entire path variable from environment variables into the Environment variables text box in the node.exe task in the build.

0 votes

You'll need to make sure that node js is in the path for the user that starts up the jvm running the builds (if you're on remote agents - the remote agent - if it's a local agent - make sure it's in the webapp's path). Otherwise you'll need to either set the path in the script task, point to it absolutley or specify the bamboo capability in the path so it gets replaces whenever the task is run.

Thanks for your reply! It is running as a local agent - how do I check (and set) the webapp's path?

I have tried to investigate by adding "path >> path.txt" to the Script task that runs the Grunt job but it only displays the npm path, which suggests that this is where the problem lies. However, I've been unable to find a way to update it.

I have tried adding the following command setx path "%path%;c:\Program Files (x86)\nodejs\" to the Script task but it fails to recognise the setx command.

Is there a way to explicitly tell Grunt where to find node.exe?

Thanks, Stuart

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events