如何为最佳实践 Azure Artifacts 配置单个管道 CI/CD

How do I configure a single pipeline for a best practice Azure Artifacts CI/CD

我正在尝试获取单个管道来处理内部 NuGet 包项目的完整 CI/CD。我 运行 遇到的问题是找到一种方法来排除拉取请求中验证构建的 NuGet 发布步骤。有没有办法确定构建是作为拉取请求验证构建触发的?

我已经设置了第三个分支(master -> release;pre-release -> alpha;develop 不发布)但是除非我要求开发人员从 develop 分支出来并拉动请求进入它我仍然有同样的问题。即使这样,从开发到预发布以及从预发布到发布的拉取请求仍然存在问题,除非我从拉取请求中删除验证构建。我不想这样做。

我使用了 msdn 提供的分支条件,但它们对拉取请求验证构建没有帮助。

验证构建最终在代码审查之前发布了版本,然后合并的后续构建失败,因为该版本已经存在。

在发布任务的自定义条件中放入:

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

现在,如果在PR期间构建是验证构建,则不会执行该任务。