TeamCity 会根据前一个 build 步骤的返回状态和当前的 build 状态来综合判断是否运行下一个 build 步骤。
1 失败状态
当满足下面条件时 build 步骤的状态被确定为失败:
build 步骤的执行过程返回了非零的退出代码 并且该 build 的失败条件配置为起作用。
2 成功状态
其它情况则认为 build 步骤的状态为成功。
3 策略
我们可以在 build 步骤中指定不同的执行策略来告诉 TeamCity 究竟要不要执行下一个 build 步骤:
3.1 Only if build status is successful
只有在整个 build 处于成功的状态时才执行该步骤。
在开始运行该 build 步骤前,build agent 会向 TeamCity Server 请求整个 build 的状态,如果 build 的状态已经是失败,则跳过该步骤的执行。
3.2 If all previous steps finished successfully
前面所有 build 步骤必须都是成功的。
这种类型不会向 TeamCity Server 发送请求,只分析之前的 build 步骤有没有失败的。
3.3 Even if some of previous steps failed
即便前面的 build 步骤有失败的也会执行。
不管之前的 build 步骤是否失败,也不管整个 build 的状态是否已失败,都执行该 build 步骤。
3.4 Always, even if build stop command was issued
总是执行,即便是收到了停止 build 的命令也要执行该 build 步骤。
即便是用户在前面的 build 步骤中取消了整个 build 的执行,这个 build 步骤也依然会被执行。但是在这个 build 步骤执行的过程中,如果您取消 build,就可以终止它的执行。