TeamCity作业,仅在前一个失败后才运行步骤?

lar*_*ryq 12 teamcity

我们正在使用TeamCity 7,并想知道只有在前一个失败的情况下是否可以进行步骤运行?我们在构建步骤配置中的选项使您可以选择仅在所有步骤都成功时执行,即使步骤失败,也可以始终运行它.

有没有办法只在前一个失败的情况下执行一个步骤?

Wel*_*lsh 9

如果前一个失败,则无法设置执行步骤.

我见过这个最接近的,是建立具有"完成构建"触发,将您的第一个构建完成之后总是执行构建.(无论成功与否).

然后在第二个构建中,您可以使用TeamCity REST API来确定第一个构建的最后一次执行是否成功.如果它没有成功那么你可以做任何你想做的事情.


Joh*_*ohn 6

作为一种变通方法,可以通过命令行步骤设置变量,该步骤仅在成功时运行,以后可以检查。

在此处输入图片说明

echo "##teamcity[setParameter name='env.BUILD_STATUS' value='SUCCESS']"
Run Code Online (Sandbox Code Playgroud)

然后可以在设置为即使步骤失败也运行的 powershell 步骤中进行查询。

在此处输入图片说明

if($env:BUILD_STATUS -ne "SUCCESS"){

}
Run Code Online (Sandbox Code Playgroud)