如果没有新数据发布工件,如何参考上一个任务并以天蓝色的devops停止构建

问题描述

Getsolution.exe将提供新数据可用或无新数据可用,如果有新数据可用,则应执行下一个作业,否则将不执行任何操作。我该怎么办? (我正在使用经典编辑器)

示例:我有一组任务,考虑4个任务:

任务1:构建解决方

任务2:运行Getstatus.exe,获取数据的状态为可用或无数据

任务3:我应该能够使用上面的任务,并进行条件/使用一些api查询,如果没有数据可以干净地退出任务并停止构建,则可以发布工件。它不应继续发布工件或移至下一个可用任务

任务4:发布工件

解决方法

首先,您需要在运行Getstatus.exe的任务中设置一个变量:

enter image description here

,然后在下一个任务中设置条件:

enter image description here

如果将doThing设置为与Yes不同的值,则会得到以下信息:

enter image description here

,

如果没有新数据可发布构件,如何参考先前的任务并在天蓝色的devops中停止构建

由于我们需要根据Getstatus.exe运行的不同结果执行不同的任务,因此我们需要根据Getstatus.exe运行的结果设置条件。

要解决此问题,就像Krzysztof Madej所说的那样,我们可以在嵌入式Powershell任务中基于Getstatus.exe的返回值来设置变量:

$dataAvailable= $(The value of the `Getstatus.exe`)

if ($dataAvailable -eq "True")
{
  Write-Host ("##vso[task.setvariable variable=Status]Yes")
}
elseif ($dataAvailable -eq "False")
{
  Write-Host ("##vso[task.setvariable variable=Status]No")
}

enter image description here

然后为下一个任务设置不同的条件:

enter image description here

您可以查看文档Specify conditions了解更多详细信息。