我想在一个步骤中停止剩余的构建步骤。
两者都是official document和 so answer指导做如下;
echo "##teamcity[buildStatus status='SUCCESS' text='Automation disabled']"
但是要在这一步停止构建,我想我应该把 exit 1
放在最后。但是由于失败条件,此退出代码给出红色失败结果; '其中一个构建步骤因错误而退出(例如,非零退出代码)'
我的试用如下;
echo "##teamcity[buildStatus status='SUCCESS' text='Automation disabled']"
exit 1
如何让它显示green success结果?
文档说“您还可以将失败构建的构建状态更改为成功”,但没有按预期工作。
版本 2017.2.3 和 2018.1.4 都经过测试。
最佳答案
在 Microsoft 生态系统中,Exit Code 1
的含义是:error
而不是 true
。
您只是使用消息队列
将状态从FAILURE
(可能)设置为SUCCESS
,然后将其设置回FAILURE
通过执行 exit 1
。
如果将 exit 1
切换为 exit 0
,它应该变为绿色。
编辑:
假设您的构建配置中有 x (A, B (...), F) 构建步骤
。
您可以在构建步骤 A
的末尾定义 exit code 1
。
仅当 A
(前一个构建步骤)成功时,您才可以定义构建步骤 B
。 (Only if build status is successful
) - 那么,如果退出代码是一个,它就不会运行。
您可以定义构建步骤 F
以运行即使之前的某些步骤失败
。
此构建步骤将发送到消息队列 echo "##teamcity[buildStatus status='SUCCESS' text='Automation disabled']"
因此,您的构建将被标记为成功,但您的构建步骤 B
将不会执行。
关于TeamCity buildStatus 服务消息未成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53703666/