本地执行shell命令成功,Jenkins 远程执行 shell命令有时 提示命令找不到,或者make的时候报错。
因为Jenkins执行shell时无法获取环境变量的原因导致
解决办法在shell脚本上加上环境变量如
#!/bin/bash
source ~/.bash_profile
source /etc/profile
在shell脚本里面添加了后,Jenkins就能正常的运行shell脚本;
第二种解决办法:
本机shell命令可以执行,jenkins任务中无法执行,则是jenkins没有加载/etc/profile导致,需要在jenkins调用shell脚本的最前面加一行脚本,#!/bin/bash -ilex
,可以通过-i参数和-l参数让bash为login shell and interactive shell,就可以读取/etc/profile和~/.bash_profile等文件
shell脚本:
#!/bin/bash -ilex