Jenkins和NodeJS插件 - 权限被拒绝错误= 13 [英] Jenkins And NodeJS Plugin - Permission Denied Error=13
问题描述
我正在运行最新版本的 Jenkins(v 1.563)
和 Node(0.10.28)
。
I'm running the latest version of Jenkins (v 1.563)
and Node (0.10.28)
.
我有一个很好的Java项目。
I have a Java project that builds fine.
当我将预构建步骤添加为节点脚本(将Provide Node& npm bin /文件夹添加到PATH中)时,我收到以下错误,尽管我已经给出了777对所有内容的权限(node,tomcat,jenkins)。
When I add a pre build step as a node script ( with Provide Node & npm bin/ folder to PATH checked), I get the following error although I have given 777 permissions to everything (node, tomcat, jenkins).
FATAL: command execution failed java.io.IOException:
Cannot run program "/home/sam/Apps/apache-tomcat-8.0.5/temp/hudson5090518537487301688.js"
(in directory "/home/sam/.jenkins/jobs/WhiteSwan/workspace"):
error=13, Permission Denied....
构建步骤执行NodeJS脚本将构建标记为失败。
当我删除nodejs步骤时,它构建正常。
我的脚本很简单,
Build step "Execute NodeJS Script" marked build as failure.
When I remove the nodejs step, it builds fine.
My Script is simple,
node --version
grunt --version
bower --version
完全错误:
Checking out Revision e90d7b870646165dba30bd1a663644c0292e9844 (origin/master)
> git config core.sparsecheckout
> git checkout -f e90d7b870646165dba30bd1a663644c0292e9844
> git rev-list e90d7b870646165dba30bd1a663644c0292e9844
[workspace] $ /home/sam/Apps/apache-tomcat-8.0.5/temp/hudson5090518537487301688.js
FATAL: command execution failed
java.io.IOException: Cannot run program "/home/sam/Apps/apache-tomcat-8.0.5/temp /hudson5090518537487301688.js" (in directory "/home/sam/.jenkins/jobs/WhiteSwan /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:745)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.build(MavenModuleSetBuild.java:909)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:676)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:518)
at hudson.model.Run.execute(Run.java:1706)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:529)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:231)
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
推荐答案
修正了没有sudo的问题;我想在root下运行 Jenkins 非常不安全。
Fixed it without a sudo; I suppose that running Jenkins under root is very unsafe.
以下是工作设置:
/ var / lib / jenkins / tools
应归 jenkins:jenkins
:
drwxr-xr-x 6 jenkins jenkins 4096 May 12 15:12 tools
如果您需要全局安装任何nodejs软件包(例如, grunt ),更简单的方法是避免jenkins窗口全局npm包安装(它需要root权限),但在linux控制台中运行:
If you need any nodejs package installed globally (for example, grunt), the easier way is to avoid jenkins window Global npm packages to install (it will need root permissions), but run this in linux console:
sudo npm install -g grunt
它将安装<每个人都可以使用strong> grunt , Jenkins 可以在构建过程中使用它。
It will install grunt for everyone and Jenkins will be able to use it during building process.
这篇关于Jenkins和NodeJS插件 - 权限被拒绝错误= 13的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!