问题描述
我正在使用Azure DevOps,并且我具有一个单独的构建管道,其中包含多个步骤,包括在PublishBuildArtifacts
文件中定义的azure-pipelines.yml
。
我已经从主分支的构建策略选项中为构建验证(通过预合并和构建拉取请求更改来验证代码)指向了相同的管道。但是,对于此PR构建运行,我不运行诸如PublishBuildArtifacts
之类的某些任务。
我该如何实现?我可以想到一种方法,即为PR创建单独的管道,也为单独的azure-pipelines-pr.yml
文件创建一个,而不是在该文件中添加这些任务。但这对我来说似乎是一种多余的方法。有没有更好的方法来实现这一目标?
解决方法
您可以为发布工件步骤添加a custom condition:
and(succeeded(),ne(variables['Build.Reason'],'PullRequest'))
现在,仅当构建原因不是不是拉取请求时,才会运行该步骤。