【问题标题】:How to skip or execute tasks/steps conditionally using TFS build?如何使用 TFS 构建有条件地跳过或执行任务/步骤?
【发布时间】:2017-04-11 23:46:30
【问题描述】:

我有一个 TFS 构建定义。

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

【问题讨论】:

    标签: variables tfs build conditional task


    【解决方案1】:

    2017/04/19 更新

    您可以在 VSTS 中 specify conditions for running a task。

    要使用此功能,您必须同时启用 New Build Editor 和 您帐户的任务条件预览功能。


    目前,这是不可能的。 UserVoice 中有一个功能请求,并得到了STARTED的响应:

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

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

    Team Services Group(产品组,Microsoft Visual Studio)于 2016 年 8 月 23 日作出回应

    作为一种解决方法,您可以手动禁用构建任务(左键单击构建任务并选择 禁用选定任务 )如下截图:

    【讨论】:

    【解决方案2】:

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

    这适用于 TFS.2018.2。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 2021-01-07
      相关资源
      最近更新 更多