TeamCity buildStatus服务消息未成功

时间:2018-12-10 10:23:33

标签: teamcity

我想一步一步停止其余的构建步骤。

official documentso answer的指导如下:

echo "##teamcity[buildStatus status='SUCCESS' text='Automation disabled']"

但是要使构建停止,我应该将exit 1放在最后。但是由于失败条件,此退出代码会给出红色的“失败”结果; “构建步骤之一因错误退出(例如非零退出代码)”

我的审判如下;

echo "##teamcity[buildStatus status='SUCCESS' text='Automation disabled']"
exit 1

如何使其显示出绿色成功结果?

文档显示“您也可以将失败的构建的构建状态更改为成功”,但不能按预期工作。

2017.2.3和2018.1.4版本均已测试。

1 个答案:

答案 0 :(得分:1)

在Microsoft生态系统中,Exit Code 1的含义是:error,而不是true

您只需使用FAILURE将状态从SUCCESS设置为message queue,然后通过执行{{1}将其设置回FAILURE }。 如果您将exit 1切换为exit 1,它将变成绿色。

编辑:

假设您的构建配置中有x(A,B(...),F)exit 0

您可以在构建步骤build steps的最后定义exit code 1

仅当上一个构建步骤A成功时,才能定义构建步骤B。 (A)-然后,如果退出代码为1,它将无法运行。

您可以定义构建步骤Only if build status is successful来运行F。 然后,此构建步骤将发送到消息队列Even if some of previous steps failed

因此,您的构建将被标记为成功,但是将不会执行构建步骤echo "##teamcity[buildStatus status='SUCCESS' text='Automation disabled']"