0

我有 Azure 管道,当 sourceFolder 不包含特定文件夹时,我需要停止管道。

例如:如果我的 sourceFolder 包含 /home/vsts/work/1/s/projectName/src/app/pos - 管道应该运行

如果我的 sourceFolder 包含 /home/vsts/work/1/s/projectName/src/app/ecomm - 管道不应运行

如何在 Azure 管道需求/自定义条件中提及条件?

4

1 回答 1

1

作为一种解决方法,您可以首先创建一个自定义变量 ( RunPipeline),其值为False. 然后添加一个新的代理作业,给这个作业添加一个powershell任务,在powershell任务中,通过脚本遍历源文件夹,如果有文件夹名为pos,将变量的值改为True

在此处输入图像描述

在此处输入图像描述

示例内联脚本:

Get-ChildItem –Path "$(System.DefaultWorkingDirectory)" |

Foreach-Object {​  
  if($_.Name --eq 'pos'){​ Write-Host "##vso[task.setvariable variable=runPipeline;isOutput=true]True" }​
}​

然后在下一个作业中添加自定义条件Additional options,例如:eq(variables['RunPipeline'], 'True').

在此处输入图像描述

于 2020-11-11T06:49:56.387 回答