Azure DevOps Ant 任务报告成功(有错误)

Azure DevOps Ant task reports success (with errors)

请原谅我问的地方不对。我正在尝试找出我与客户之间存在的问题。他们有一个 build.xml,当在 Ant 任务中执行时,我们可以在代码中强制编译错误,看到它们在任务日志中以红色报告,但任务报告成功。

自托管代理,Java 1.6,Ant 1.7.1,Windows Server 2016。

<target name="asdf" depends="asdf">
<mkdir dir="asdf" />
<mkdir dir="zxcv" />
<copy todir="sdfg">
...
</copy
<javac includeantruntie="false"
 destdir="asdf"
 failonerror="true"
 debug="on">
 <src path="src" />
 <classpath refid="zxcv" />
</javac>
...
</target>

并且输出日志包含:

[javac] Compiling...
##[error] ... <===== red
...
[javac] 1 error

BUILD FAILED
...
##[section]Finishing: task name <===== green

我试过在我认为合适的地方添加 failonerror="true" 但没有成功。我怀疑问题出在 build.xml 中的某个地方,并将继续研究该路径,但我想我会在这里问,以防它是一个设置或我在 Azure Pipelines Ant 任务中遗漏的东西。

也有人建议升级Ant的版本,也会把这个建议传递给客户,如果有帮助会更新进度。

@ovation22 - 如果您使用 YAML 构建管道,您可以查找为作业或步骤配置的 continueOnError 属性。由于您声明 Ant 步骤显示绿色但其中有一个 ##error 调用,因此很可能是这种情况。如果您没有使用 YAML 管道(即 Classic/GUI 管道),我相信在工作或个人 step/task 的下拉部分之一中有一个复选框。我建议您查看此处,因为这可能是您遇到问题的原因。

参考这里:YAML Schema - Step

好像是ant版本的问题。我可以用 Ant 1.7.1 重现上述问题。

当我将 Ant 升级到版本 1.10.5 时,它按预期工作,如果构建失败,则 Ant 任务失败。

您可以尝试将 Self-Hosted Agent 机器中的 Ant 升级到更新版本。