【Jenkins】【Ubuntu】在 Jenkins 的运行 Job 的Node 节点安装相关命令行,但是 Jenkins 运行调用显示“ Command Not Found“

Description

目标机器已经安装相关组件,但是在 Jenkins 执行脚本的时候,发现无法运行,例如 npm.

在 Jenkins 适配某个 job 的时候,发现,在执行对应的代码仓库打包的时候,有一行 npm 的命令行检查始终不过。

第一次,在对应的 机器上安装了下 nvm,然后通过 nvm 进行安装 npm。

并且在对应机器上执行了 npm -v, node -v 等检查是否安装成功软件的都成功。

但是在 Jenkins 一旦调度时候,就是直接报错。

具体截取到的报错如下:

18:09:13  /home/kylin/xxx/workspace/KYLIN_UBUNTU_ALL/kylin@tmp/durable-ec7830bd/script.sh: line 5: node: command not found
18:09:13  /home/kylin/xxx/workspace/KYLIN_UBUNTU_ALL/kylin@tmp/durable-ec7830bd/script.sh: line 6: npm: command not found
18:09:13  /home/kylin/xxx/workspace/KYLIN_UBUNTU_ALL/kylin@tmp/durable-ec7830bd/script.sh: line 7: nvm: command not found

由于相关 Kylin 项目打包需要检验对应机器上的是否相关命令安装完毕,导致打包失败。

Solution

起初,怀疑是不是组件安装的不对,或者使用访问的用户隔离导致了命令无法找到,但是其实不是。

继续检查,发现,其实 Jenkins 是需要被告知,对应运行机器节点上的服务器的 path 的环境变量! 

解决方案也很简单!

获取预期运行Node 节点上的 PATH 变量 

$ echo $PATH
/home/kylin/.pyenv/shims:/home/kylin/.pyenv/bin:/home/kylin/.nvm/versions/node/v14.17.6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin:/opt/zookeeper-3.7.1/bin:/opt/hadoop-3.2.1/bin:/opt/hive-3.1.2/bi

更新预期运行服务器节点的 PATH 环境变量,告诉 Jenkins! 

Jenkins 配置路径如下:

Dashboard → Manage Jenkins → Manage Nodes and Clouds → ${The Expected Running Nodes} → Configure 

找到对应的要运行机器服务节点并进行配置!

拉到最下方,看见环境变量,新增一个! 

【Jenkins】【Ubuntu】在 Jenkins 的运行 Job 的Node 节点安装相关命令行,但是 Jenkins 运行调用显示“ Command Not Found“_第1张图片 

注意 PATH 是要大写!!!

 以上!

 

你可能感兴趣的:(jenkins,运维)