• DevOps
  • 麻烦问一下 devops 我使用 kubesphere/builder-base:master 流水线执行 node -v 的时候就报错

创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。
发帖前请点击 发表主题 右边的 预览(👀) 按钮,确保帖子格式正确。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
centos9 16核 32G

Kubernetes版本信息
v1.23.10 单节点

容器运行时
docker

KubeSphere版本信息
v3.4

麻烦问一下 devops 我使用 kubesphere/builder-base:master 这个镜像配置 jenkinds agent,我本地启动镜像里面执行 node -v 是正常的,但是我在流水线执行 node -v 的时候就报这个错误是什么原因

jenkins-casc-config 配置

流水线执行结果

镜像下载到本地执行 node -v 就没有问题

应该是路径没有映射地址的问题,因为 node使用版本管理了
ls -al
docker –version which node ||
echo “Node.js 未找到”
ls /root/.nvm/
ls /root/.nvm/versions/
ls /root/.nvm/versions/node/
ls /root/.nvm/versions/node/v22.15.0/
ls /root/.nvm/versions/node/v22.15.0/bin/
echo “当前路径: $PATH”

export PATH=“/root/.nvm/versions/node/v22.15.0/bin/:$PATH”
node -v
我在容器内部执行这个就正常了

    YANG18642029437 我在本地复现了这个问题。原因是 dockerfile 写的不对,导致 node 命令(还有一些其他命令)存在于 bash 的 PATH 中,而不在 sh 的 PATH 中。jenkins 的 sh 命令会使用 /bin/sh 来执行,所以找不到 node 命令。我修改了 dockerfile, 重新构建了 kubesphere/builder-base:master ,你重新拉取再试下。