Azure DevOps如何跳过PR生成运行的PublishBuildArtifacts步骤

问题描述

我正在使用Azure DevOps,并且我具有一个单独的构建管道,其中包含多个步骤,包括PublishBuildArtifacts文件中定义的azure-pipelines.yml

我已经从主分支的构建策略选项中为构建验证(通过预合并和构建拉取请求更改来验证代码)指向了相同的管道。但是,对于此PR构建运行,我不运行诸如PublishBuildArtifacts之类的某些任务。

我该如何实现?我可以想到一种方法,即为PR创建单独的管道,也为单独的azure-pipelines-pr.yml文件创建一个,而不是在该文件添加这些任务。但这对我来说似乎是一种多余的方法。有没有更好的方法来实现这一目标?

解决方法

您可以为发布工件步骤添加a custom condition

and(succeeded(),ne(variables['Build.Reason'],'PullRequest'))

现在,仅当构建原因不是不是拉取请求时,才会运行该步骤。