我们在TeamCity中有一个构建配置,包含3个构建步骤。有没有办法阻止步骤2运行个人构建,以便正常的VCS触发器执行步骤1,2和3 - 但只有1和3运行个人构建?
对于个人构建,有一个变量BUILD_IS_PERSONAL设置为true,但如果不是,则不定义: http://confluence.jetbrains.com/display/TCD8/Predefined+Build+Parameters
当你在构建配置脚本中使用变量时,你打算如何使用变量,它要求我手动定义值?
答案 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变量语法。