我有 Azure 管道,当 sourceFolder 不包含特定文件夹时,我需要停止管道。
例如:如果我的 sourceFolder 包含 /home/vsts/work/1/s/projectName/src/app/pos - 管道应该运行
如果我的 sourceFolder 包含 /home/vsts/work/1/s/projectName/src/app/ecomm - 管道不应运行
如何在 Azure 管道需求/自定义条件中提及条件?
我有 Azure 管道,当 sourceFolder 不包含特定文件夹时,我需要停止管道。
例如:如果我的 sourceFolder 包含 /home/vsts/work/1/s/projectName/src/app/pos - 管道应该运行
如果我的 sourceFolder 包含 /home/vsts/work/1/s/projectName/src/app/ecomm - 管道不应运行
如何在 Azure 管道需求/自定义条件中提及条件?
作为一种解决方法,您可以首先创建一个自定义变量 ( 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')
.