如果没有新数据发布工件,如何参考以前的任务并停止 azure devops 中的构建

How to refer previous task and stop the build in azure devops if there is no new data to publish an artifact

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

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

任务 1:构建解决方案

task-2:运行 Getstatus.exe 获取数据可用或无数据可用的状态

task-3:我应该能够使用上述任务并进行 condition/use 一些 api 查询并在数据可用的情况下继续发布工件任务并停止构建。它不应该继续发布工件或移动到下一个可用任务

任务 4:发布工件

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

然后在接下来的任务中设置条件:

如果您将 doThing 设置为与 Yes 不同的值,您将得到:

How to refer previous task and stop the build in azure devops if there is no new data to publish an artifact

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

要解决这个问题,就像 Krzysztof Madej 所说的,我们可以根据内联 powershell 任务中 Getstatus.exe 的 return 值设置变量:

$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")
}

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

您可以查看文档 Specify conditions 了解更多详情。