You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TeamCity Build Job执行中途退出,跳过后续构建步骤

在TeamCity 2020中中途终止构建任务的两种方案

方案1:使用TeamCity服务消息主动终止构建

TeamCity支持通过输出特定的服务消息直接触发构建停止,无需依赖后续步骤的条件判断。在步骤2的命令行中,当检测到目标输出时,输出对应消息即可立即终止整个构建,后续步骤3-10不会执行:

Windows Cmd示例

假设你需要检查target_command.exe的输出是否包含"需终止的关键词",代码如下:

:: 执行目标命令并检查输出
target_command.exe | findstr "需终止的关键词"
:: 如果找到关键词(errorlevel为0),发送停止消息并退出步骤
if %errorlevel% equ 0 (
    echo ##teamcity[buildStop status='FAILURE' comment='检测到触发条件,终止构建']
    exit /b 1
)

Linux/Bash示例

# 执行目标命令并检查输出
if target_command | grep -q "需终止的关键词"; then
    # 发送TeamCity服务消息终止构建
    echo "##teamcity[buildStop status='FAILURE' comment='检测到触发条件,终止构建']"
    # 退出当前步骤并标记失败
    exit 1
fi

注:status参数可选SUCCESS或FAILURE,根据需求选择;comment可自定义终止原因,方便后续排查。

方案2:通过步骤失败策略终止构建

  1. 进入步骤2的配置页面,找到**执行失败策略(Execution failure policy)**选项,选择Stop build。
  2. 在步骤2的命令行中,当满足终止条件时,返回非0退出码:
    • Windows Cmd:exit /b 1
    • Linux/Bash:exit 1

示例(Bash):

# 执行目标命令
target_command
# 根据命令返回值判断是否终止
if [ $? -eq 0 ]; then
    # 满足条件,返回非0退出码触发构建停止
    exit 1
fi

这种方式依赖步骤的失败策略配置,当步骤返回非0时,TeamCity会直接停止整个构建流程。

内容的提问来源于stack exchange,提问作者Rajesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:33:28