如何防止为个人构建运行构建步骤

时间:2014-02-14 10:26:09

标签: teamcity teamcity-8.0

我们在TeamCity中有一个构建配置,包含3个构建步骤。有没有办法阻止步骤2运行个人构建,以便正常的VCS触发器执行步骤1,2和3 - 但只有1和3运行个人构建?

对于个人构建,有一个变量BUILD_IS_PERSONAL设置为true,但如果不是,则不定义: http://confluence.jetbrains.com/display/TCD8/Predefined+Build+Parameters

当你在构建配置脚本中使用变量时,你打算如何使用变量,它要求我手动定义值?

3 个答案:

答案 0 :(得分:5)

BUILD_IS_PERSONAL是一个常见的环境变量。只有在构建是个人的时候才会设置它。您的构建步骤可以检查此变量是否存在,如果已定义,则立即退出。

对于unix shell,这样的东西应该可以工作:

if [ -n "$BUILD_IS_PERSONAL" ]; then
    echo "Build is personal, exiting"
    exit 0
fi 

答案 1 :(得分:0)

您可以克隆构建配置(如果构建配置尚未基于模板,则可以利用模板),并且具有两个构建配置:一个用于正常构建,另一个用于个人构建。在个人构建配置中,您将禁用第2步。

答案 2 :(得分:0)

我修改了包含在if语句中的第二步的配置:

IF "%%BUILD_IS_PERSONAL%%"=="" (
rem do stuff
)

我一直缺少的是使用额外的'%'来逃避TeamCity变量语法。