我是否可以为发布管理管道和拉取请求使用Azure Dev Ops构建定义,但后者不会触发管道

问题描述 投票:1回答:4

简而言之;我们希望使用构建定义来为Release Management生成工件并检查Pull请求,但不允许后者触发新版本。

我们将Git Repo送料工件的CI构建定义纳入发布管理管道。像许多团队一样,我们也设置了Pull Requests以保护我们的git master。我们希望重新使用我们的CI构建来在合并之前验证Pull请求,但这样做会自动触发我们的发布管道(绕过合并到主控)。

到目前为止,我们一直在通过复制构建来解决这个问题,但感觉很笨拙。查看文档,没有一种明显的方法来过滤发布触发器,或者跳过构建中的发布步骤。我觉得必须避免触发而不重复构建,但我看不到它!

git build azure-devops release-management pull-request
4个回答
0
投票

现在没有开箱即用的功能,已经在VSTS用户语音上提交了类似的功能请求,您可以投票:Trigger release definition only for specific branches

实现此目的的另一种方法是更新发布定义以将其配置为由“手动”触发,然后在构建定义中添加PowerShell脚本任务以检查当前构建的源引用,然后通过VSTS Rest API触发发布。


0
投票

我不确定这个问题是否过于陈旧有效,但如果您现在使用Azure DevOps(以前称为VSTS),您可以通过使用Control Options: Custom Conditions来完成发布的CI构建任务。文物。

enter image description here


enter image description here


0
投票

Azure Dev Ops现在有一种实现此行为的方法。您可以修改发布定义的Continuous Deployment触发器。两个适用的选项是:

  • 禁用(手动标题)Pull Request触发器
  • 添加分支过滤器,即仅包括主分区

Screenshot of Continuous deployment trigger setup dialog

注意另一个答案建议使工件上传有条件,但是出于其他原因我们仍然需要工件。


-1
投票

基于构建的refspec触发版本的能力目前不是一种能力。

© www.soinside.com 2019 - 2024. All rights reserved.