I'm trying to CI javascript libraries in Jenkins. I want to use the NodeJS plugin to launch some tests, but I can't work my way around this error:
[workspace] $ /Users/michael_case/dev/jenkins/temp/hudson4905877153282795022.js
FATAL: command execution failed
java.io.IOException: Cannot run program "/Users/michael_case/dev/jenkins/temp/hudson4905877153282795022.js" (in directory "/Users/michael_case/.jenkins/jobs/js-build/workspace"): error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1042)
at hudson.Proc$LocalProc.<init>(Proc.java:244)
at hudson.Proc$LocalProc.<init>(Proc.java:216)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:775)
at jenkins.plugins.nodejs.tools.DecoratedLauncher.launch(DecoratedLauncher.java:49)
at jenkins.plugins.nodejs.tools.NpmPackagesBuildWrapper$2.launch(NpmPackagesBuildWrapper.java:88)
at hudson.Launcher$ProcStarter.start(Launcher.java:355)
at hudson.Launcher$ProcStarter.join(Launcher.java:362)
at jenkins.plugins.nodejs.NodeJsCommandInterpreter.perform(NodeJsCommandInterpreter.java:84)
at jenkins.plugins.nodejs.NodeJsCommandInterpreter.perform(NodeJsCommandInterpreter.java:42)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:756)
at hudson.model.Build$BuildExecution.build(Build.java:198)
at hudson.model.Build$BuildExecution.doRun(Build.java:159)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at hudson.model.Run.execute(Run.java:1710)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:234)
Caused by: java.io.IOException: error=13, Permission denied
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:185)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
... 18 more
I'm 100% positive that Jenkins is running under my user name (michael_case). You might even notice that I've overridden java.io.tmpdir to a folder under my own home dir that Jenkins definitely has access to.
The temp file in question hudson4905877153282795022.js
seems to be created within this job step and cleaned up immediately because I cannot look at it to check its permissions or contents. (I even had a previous step perform ls -la /Users/michael_case/dev/jenkins/temp
but the file was not listed)
Any thoughts? Any suggestions for next steps?
UPDATE:
I am running the embedded Jetty server. I did see this SO question, but because I'm not running Tomcat, I don't see how it applies.