Jenkins 无法执行 Ant的问题.

在做Jenkins+junit+Ant的单元测试的持续集成,但是配置的过程中,一直无法使用Ant.

本地执行是可以正常执行,而且能生成测试结果的。

说明我的java文件编译执行,还有build.xml脚本都是正确的.

Jenkins 无法执行 Ant的问题._第1张图片


并且我进行了配置,配置jenkins执行的权限是root,也不能成功.

Jenkins 无法执行 Ant的问题._第2张图片


心里一直怀疑是不是ANT_HOME的原因,但是本地的/etc/profile检查了多次都是ok的,

问题可能是Jenkins在执行shell脚本时没有加载 /etc/profile 文件

所以通过以下方式进行试验:

新建一个自由风格的 Job
add build step > excute shell 
填写

whoami
echo $PATH
which ant


看到结果是这样的:

Jenkins 无法执行 Ant的问题._第3张图片

果然是这里环境变量有问题,多方查看,得到了原因:

Jenkins默认情况下执行shell脚本是使用非登录方式,然而非登录方式不会加载 /etc/profile 文件,在 Execute shell 中 添加如 #!/bin/sh -l 命令修改为登录方式即可解决问题。


果然,在shell前面添加ok之后,我的jenkins就执行ok了.

参考文档:

https://bbs.testerhome.com/topics/5803

https://blog.csdn.net/u013201439/article/details/71425165

你可能感兴趣的:(持续集成&测试)