2014-10-07 9 views
5

मैं सेटअप करने के लिए एक रास्पबेरी Pi पर एक जेनकींस उदाहरण प्रबंधित किया है, और इससे पहले कि मैं अंत में इस बाधा मारा जहाँ तक NodeJS प्लगइन स्थापित करने के रूप में मिल गया है:जेनकींस और NodeJS प्लगइन - अनुमति अस्वीकृत त्रुटि

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 

var sys = require('sys'); 
sys.puts('NodeJS Test'); 
sys.puts('***********'); 
sys.puts('Hello World'); 

यह काम करता है अगर मैं जेनकींस उपयोगकर्ता के रूप में प्रवेश करें, और यह अपने आप चलाएँ::

मैं कुछ भी विशेष रूप से विशेष नहीं कर रहा हूँ, इस NodeJS प्लगइन सुनिश्चित करने के लिए एक प्रारंभिक परीक्षण काम करता है

मैंने इंटरनेट का पता लगाया है, और कुछ विशिष्ट नहीं दिख रहा है; निश्चित रूप से यह फ़ाइल अनुमतियों को विशेष रूप से नहीं है (वर्कस्पेस निर्देशिका में सभी उपयोगकर्ताओं तक पूर्ण पहुंच है)

+0

कोशिश है कि स्क्रिप्ट '# के साथ एक पंक्ति की पहली बार में जोड़ने के लिए/usr/bin/node' (ch eck अगर वह पथ 'कौन सा नोड' का उपयोग कर सही है) – Salem

+0

@ सैलेम, वह "निष्पादन शैल" निर्माण चरण का उपयोग नहीं कर रहा है, इसलिए सुझाव काफी अमान्य है – Slav

उत्तर

5

मुझे एक ही समस्या थी। मेरे लिए यह जेनकिंस में "वैश्विक विन्यास" के तहत, nodejs प्लगइन विन्यास था। मेरा "नोड" एप्लिकेशन (सिम्लिंक) /usr/local/bin/node पर स्थित था। और मेरी "स्थापना निर्देशिका" को /usr/local/bin/ पर सेट किया गया था। मैंने इसे भी /usr/local/ बदल दिया और यह काम करना शुरू कर दिया! :)

ध्यान दें कि यह तब होता है जब आप का उपयोग नहीं कर "स्वचालित रूप से स्थापित" NodeJS प्लगइन का समारोह कर रहे हैं।

2

मैं जेनकींस अनुमति के साथ लगभग एक ही समस्या थी,

मुद्दा यह था कि जेनकींस फ़ोल्डरों यह अनुमति नहीं है कि में नहीं लिख सकता है, तो मैं NodeJS /var/lib/jenkins/tools/

में स्वचालित रूप से प्लगइन स्थापित

मैं बेहतर विस्तार यहाँ में वर्णित:

Jenkins And NodeJS Plugin - Permission Denied Error=13

+0

धन्यवाद - उत्तर संपादित किया है। – riverfall

+0

संपादन के लिए धन्यवाद –

संबंधित मुद्दे