Jenkins和NodeJS插件 - 权限被拒绝错误= 13 [英] Jenkins And NodeJS Plugin - Permission Denied Error=13

查看:670
本文介绍了Jenkins和NodeJS插件 - 权限被拒绝错误= 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆