我的jenkins测试作业控制台执行shell如下;
#!/bin/bash
echo $(id)
npm -v
构建此作业时,控制台输出显示为;
uid=497(jenkins) gid=495(jenkins) groups=495(jenkins)
3.10.10
当我SSH进入jenkins ec2机器,然后切换到jenkins用户并运行命令npm -v时,我得到了npm的不同版本。 我怀疑jenkins控制台执行shell以root用户shell的身份运行,在那里它获取了root用户的npm版本。
当我运行whoami
和which npm
时,在jenkins控制台上分别以jenkins
和/usr/bin/npm
的形式得到结果,但是在jenkins ec2实例上,当我在jenkins用户外壳程序,我得到的结果分别为jenkins
和~/.nvm/versions/node/v8.10.0/bin/npm
。请协助我了解为什么我得到两个不同的结果
请协助。感谢您的宝贵时间