2

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

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

您打算如何使用该变量,因为每当我在构建配置脚本中使用它时,它都会要求我手动定义该值?

4

3 回答 3

5

BUILD_IS_PERSONAL is a usual environment variable. It is only set if build is personal. Your build step can check for presence of this variable and exit immediately if it is defined.

For unix shell something like this should work:

if [ -n "$BUILD_IS_PERSONAL" ]; then
    echo "Build is personal, exiting"
    exit 0
fi 
于 2014-02-15T08:28:19.883 回答
0

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

于 2014-02-14T20:20:12.227 回答
0

我修改了第二步的配置,使其包含在这个 if 语句中:

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

我一直缺少的是用额外的“%”转义 TeamCity 变量语法。

于 2014-02-17T10:53:22.850 回答