在Jenkinsdocker实例上找不到节点

我正在运行Jenkins作为Docker容器,并且已经安装了NodeJS插件,并且完全遵循了设置说明。 当我尝试使用node运行脚本时,出现以下错误:

 /tmp/jenkins9123978873441132802.sh: line 1: node: not found Build step 'Execute shell' marked build as failure Finished: FAILURE 

我检查了泊坞窗卷, node bin是它应该是,它的可执行文件在那里,它从我的主机服务器运行时,它工作正常:

 user@server:/data/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin$ ./node --version v9.2.0 

我修改了我的构build脚本以进一步探究这个问题:

 echo $PATH cd /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin ls -all ./node --version node --version npm --version 

看看这是多么奇怪:

 Building in workspace /var/jenkins_home/workspace/release [WS-CLEANUP] Deleting project workspace... [WS-CLEANUP] Done Adding all registry entries copy managed file [Main config] to file:/var/jenkins_home/workspace/release@tmp/config69012336710357692tmp [release] $ /bin/sh -xe /tmp/jenkins6243047436861395796.sh + echo /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin + cd /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin + ls -all total 34112 drwxr-xr-x 2 jenkins jenkins 4096 Nov 20 16:16 . drwxr-xr-x 6 jenkins jenkins 4096 Nov 20 16:16 .. -rwxrwxrwx 1 jenkins jenkins 34921762 Nov 14 20:33 node lrwxrwxrwx 1 jenkins jenkins 38 Nov 20 16:16 npm -> ../lib/node_modules/npm/bin/npm-cli.js lrwxrwxrwx 1 jenkins jenkins 38 Nov 20 16:16 npx -> ../lib/node_modules/npm/bin/npx-cli.js + ./node --version /tmp/jenkins6243047436861395796.sh: line 1: ./node: not found Build step 'Execute shell' marked build as failure Finished: FAILURE 

node可执行文件存在,并且是可执行文件( +x )。 path已正确设置,但构build仍然失败。

这是因为节点二进制的path

/data/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin

在你的shellpath上不存在。

你应该编辑Jenkins的variables来调整PATH。