如何使用TFS构建有条件地跳过或执行任务/步骤?

时间:2016-11-28 09:41:19

标签: variables tfs build conditional task

我有一个TFS构建定义。

enter image description here

我希望运行两个步骤/任务,有条件地执行两个命令行。也许我可以设置一个变量,当我对构建或其他东西进行排队时。主要是我希望运行构建并跳过一些步骤/任务,如果我想。我怎样才能做到这一点?除了制作一个执行我的app.exe的bat文件并将一个布尔变量发送到将执行或不执行我的app.exe的bat脚本。

2 个答案:

答案 0 :(得分:12)

更新2017/04/19

你可以在VSTS中specify conditions for running a task

  

要使用此功能,您必须同时启用新建构建编辑器   您帐户的任务条件预览功能。

现在,这是不可能的。 UserVoice中有功能请求,并通过 STARTED 响应:

  

Allow build vNext/preview tasks to be conditionally enabled or disabled.

     

我们已经开始研究这个功能,它将在两者上都可用   团队建设和发布管理。

     

Team Services Group(产品组,Microsoft Visual Studio)回复·2016年8月23日

作为解决方法,您可以手动禁用构建任务(左键单击构建任务并选择 禁用所选任务 ),如下截屏所示: enter image description here

答案 1 :(得分:1)

通过在需要有条件执行的任务之前在Write-Host "##vso[task.setvariable variable=ExecuteMyTask]$(ExecuteMyTask)"之前添加 PowerShell脚本任务,将名为ExecuteMyTask的新Process参数添加到任务组,该参数可以设置为 true false (或保留为空,以使用此任务组在Build定义中设置)。在“条件”任务中,可以添加自定义条件 and(succeeded(), eq(variables['ExecuteMyTask'], 'true')),该任务将有条件地执行。

这适用于TFS.2018.2。