背景
os:centos7
在master 上进行项目构建
jenkins 是使用容器部署的
master指的就是容器内的linux
在centos 命令行中执行jmeter --help 是成功的
执行操作:jenkins构建项目,执行命令 tail -10 /etc/profile jmeter --help
日志
jmeter --help
/tmp/jenkins4418531488710591891.sh: 4: /tmp/jenkins4418531488710591891.sh: jmeter: not found
Build step 'Execute shell' marked build as failure
[htmlpublisher] Archiving HTML reports...
Finished: FAILURE
定位问题过程
-
通过输出环境变量文件,检查jenkins读取到的环境变量中是否有配置jmeter
cat /etc/profile
-
重新构建项目,检查输出结果中无jmeter
-
思考?
-
是由多个/etc/profile 文件吗。看了相关文章和自己实际操作的结果,只有一个/etc/profile
-
突然想到jenkins 是在容器中创建的,容器中是有一个虚拟的centos系统
-
通过比较容器中的/etc/profile 内容与 jenkins 构建日志中输入的profile 内容保持一致;基本上定位到问题了
解决方案
不使用master节点来构建项目;
使用宿主机来构建项目;
新建一个宿主机的节点;
试验成功。
这个问题需记住知识点
master定义:jenkins 运行的那个机器或容器是master节点