【问题标题】:"Run this job" when sourceFolder contains a folder in Azure Release Pipeline当 sourceFolder 包含 Azure 发布管道中的文件夹时“运行此作业”
【发布时间】:2020-11-11 04:53:42
【问题描述】:
我有 Azure 管道,当 sourceFolder 不包含特定文件夹时,我需要停止管道。
例如:如果我的 sourceFolder 包含
/home/vsts/work/1/s/projectName/src/app/pos - 管道应该运行
如果我的 sourceFolder 包含
/home/vsts/work/1/s/projectName/src/app/ecomm - 管道不应运行
如何在 Azure 管道需求/自定义条件中提及条件?
【问题讨论】:
-
无法获取您的最新信息,该解决方法对您有帮助吗?如果有帮助,您可以Accept it as an Answer,这样它可以帮助遇到同样问题的其他社区成员,我们可以存档这个帖子。或者,如果您有任何疑虑,请随时在此处分享。谢谢。
标签:
azure
azure-devops
azure-pipelines-release-pipeline
azure-pipelines-release-task
【解决方案1】:
作为一种解决方法,您可以先创建一个值为False 的自定义变量(RunPipeline)。然后添加一个新的代理作业,在这个作业中添加一个powershell任务,在powershell任务中,通过脚本遍历源文件夹,如果有文件夹名为pos,将variable的值改为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')。