我正在试验Jenkins和Ant。我想简单地运行我的Makefile来完成所有事情,构建和测试。
我发现最好的方法是使用Ant,因为我的构建过程与travis.yml
类似,变得灵活。
不幸的是我使用的编译器只存在于Windows上,所以我在Windows上安装了Jenkins。我写了这个build.xml
<?xml version="1.0"?>
<project name="Hello World Project" default="info">
<target name="info">
<echo>Hello World - Welcome to Apache Ant!</echo>
<exec executable="make"/>
</target>
</project>
到目前为止我得到的输出就是这个:
C:\Program Files (x86)\Jenkins\workspace\test>exit 0
[test] $ cmd.exe /C "ant.bat info && exit %%ERRORLEVEL%%"
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre1.8.0_131\lib\tools.jar
Buildfile: C:\Program Files (x86)\Jenkins\workspace\test\build.xml
info:
[echo] Hello World - Welcome to Apache Ant!
[exec] rm -f test_*.s
[exec] arm-none-eabi-gcc.exe -O2 -Wall -S -c test.c -o test_gcc.s
[exec] make: arm-none-eabi-gcc.exe: Command not found
[exec] make: *** [Makefile:9: test_gcc.s] Error 127
[exec] Result: 2
BUILD SUCCESSFUL
Total time: 0 seconds
Finished: SUCCESS
为什么我收到错误时会收到BUILD SUCCESSFUL
状态?
N.B。我知道我必须配置我的PATH以包含工具链。我想首先理解这种不一致。
答案 0 :(得分:2)
默认情况下,当返回错误代码时,Ant的exec
任务不会使构建失败。但是,可以使用failonerror
属性
<exec executable="make" failonerror="true" />