詹金斯& NodeJS插件-权限被拒绝错误 [英] Jenkins & NodeJS plugin - Permission Denied error
问题描述
我设法在Raspberry Pi上设置了一个Jenkins实例,并且在我最终碰到这个绊脚石之前就已经安装了NodeJS插件:
I've managed to setup a Jenkins instance on a Raspberry Pi, and have got as far as installing the NodeJS plugin before I eventually hit this stumbling block:
Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/Test Project/workspace
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url localhost:/GITREPO/test # timeout=10
Fetching upstream changes from localhost:/GITREPO/test
> git --version # timeout=10
> git fetch --tags --progress localhost:/GITREPO/test +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 8e6edee9fdc1e8bf754dc1a27f46c1dea3531144 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 8e6edee9fdc1e8bf754dc1a27f46c1dea3531144
> git rev-list 8eaf1bc6a0be837100e476b33bec559b33e9997f # timeout=10
[workspace] $ /bin/sh -xe /tmp/hudson5445359267004163031.sh
+ echo /usr/local/bin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
/usr/local/bin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
+ node --version
v0.10.32
+ grunt --version
grunt-cli v0.1.13
+ java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)
[workspace] $ /tmp/hudson1009495610900642950.js
FATAL: command execution failed
java.io.IOException: Cannot run program "/tmp/hudson1009495610900642950.js" (in directory "/var/lib/jenkins/jobs/Test Project/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:802)
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:380)
at hudson.Launcher$ProcStarter.join(Launcher.java:387)
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:770)
at hudson.model.Build$BuildExecution.build(Build.java:199)
at hudson.model.Build$BuildExecution.doRun(Build.java:160)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533)
at hudson.model.Run.execute(Run.java:1745)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: error=13, Permission denied
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:187)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1023)
... 18 more
Build step 'Execute NodeJS script' marked build as failure
Finished: FAILURE
我没有做任何特别的事情,这是确保NodeJS插件正常工作的初始测试:
I'm not doing anything particularly special, this is an initial test to ensure the NodeJS plugin works:
var sys = require('sys');
sys.puts('NodeJS Test');
sys.puts('***********');
sys.puts('Hello World');
如果我以Jenkins用户身份登录并亲自运行,则此方法有效:
This works if I log in as the Jenkins user, and run it myself:
jenkins@raspberrypi:~$ node test.js
NodeJS Test
***********
Hello World
jenkins@raspberrypi:~$
我已经拖网了,似乎找不到任何具体的东西.非常确定其没有文件权限(工作区目录对所有用户具有完全访问权限)
I've trawled the internet, and cannot seem to find anything specific; pretty sure its not file permissions specifically (Workspace directory has full access to all users)
推荐答案
我遇到了同样的问题.对我而言,这是jenkins中全局配置"下的nodejs插件配置.我的节点"应用程序(符号链接)位于/usr/local/bin/node
.然后将我的安装目录"设置为/usr/local/bin/
.我也更改了/usr/local/
,它开始起作用! :)
I had the same problem. For me it was the nodejs plugin configurations, under "global configurations" in jenkins. My "node" application (symlink) was located at /usr/local/bin/node
. And my "installation directory" was set to /usr/local/bin/
. I changed that too /usr/local/
and it start working! :)
请注意,这是当您 没有 使用nodejs插件的自动安装"功能时.
Note that this is when you aren't using "install automatically"-function of the nodejs plugin.
这篇关于詹金斯& NodeJS插件-权限被拒绝错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!