TeamCity buildStatus 服务消息未成功

标签 teamcity

我想在一个步骤中停止剩余的构建步骤。

两者都是official documentso 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/

相关文章:

teamcity - 如何仅在需要时触发昂贵的构建步骤?

teamcity - 是否可以在 TeamCity 中构建 "group"配置以共享依赖项?

msbuild - 使用 MSBuild 和 TeamCity 进行部署时出现问题

resharper - 如何禁用限定符 'this.' 是 TeamCity 代码检查中的冗余规则?

azure - Web 部署到应用服务环境中的 Azure Web App

ios-simulator - 启动模拟器时 xcodebuild 超时

teamcity - 如何在teamcity中设置构建工件

teamcity - 在 teamcity 中哪里设置电子邮件设置?

continuous-integration - 设置 TeamCity 以与 ClearCase 配合使用

testing - Teamcity 重新运行特定的失败不稳定测试