简体   繁体   English

在Jenkins Docker实例上找不到节点

[英]Node not found on Jenkins docker instance

I am running Jenkins as a docker container, and have installed the NodeJS plugin and followed thoroughly the setup instructions. 我将Jenkins作为docker容器运行,并且已经安装了NodeJS插件并完全遵循了安装说明。 When I try to run a script using node , I get the following error: 当我尝试使用node运行脚本时,出现以下错误:

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

I checked the docker volume, the node bin is where it should be and is executable is there and it works fine when I run it from my host server: 我检查了docker卷, node bin在应该存在的位置,并且可执行文件存在,并且在从主机服务器运行它时可以正常工作:

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

I modified my build script to explore a bit further the problem: 我修改了构建脚本以进一步探讨问题:

echo $PATH

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

node --version
npm --version

and look how strange this is: 看看这有多奇怪:

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

The node executable is present, and it's executable ( +x ). 存在node可执行文件,并且它是可执行文件( +x )。 The path is correctly set, but the build still fails. 路径设置正确,但是构建仍然失败。

This is because the path to the node binary 这是因为节点二进制文件的路径

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

Does not exist on your shell path. 在您的Shell路径上不存在。

You should edit Jenkins' variables to adjust your PATH. 您应该编辑Jenkins的变量以调整PATH。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM