首页 > 解决方案 > 持续部署触发器中“构建分支过滤器”的目的是什么?

问题描述

构建管道只能绑定到 1 个源分支。

在发布管道中,我们通过选择源构建管道来配置工件。因此,发布工件只能绑定到 1 个构建管道。

Build branch filters持续部署触发器的目的是什么?

标签: azureazure-devopsazure-pipelinesazure-pipelines-release-pipeline

解决方案


假设您的代码库已更新。只有在特定分支上进行构建时才需要部署(示例develop)。

在那种情况下Build Branch Filter看起来相当多余......但如果:

  1. 您希望为从功能分支latest构建的每个工件触发新的部署以对其进行测试。each您必须过滤feature/*.

  2. 如果您的发布分支已更新,您希望触发新的部署,但其中一些已被弃用,您需要将它们过滤掉。我在那种情况下指定一个includefilterrelease/*和第二个excludefilter release/old*

无论如何..在大多数情况下,过滤器和分支名称(在工件中)将相互匹配。有时,从多个分支触发部署或过滤掉某些东西可能会让人头疼。


关于您的评论,我上传了部分yaml build. 实际上,如果您愿意,一个构建可以从存储库中的所有分支创建工件。

trigger:
  branches:
    include:
    - feature/*
    - bugfix/*
    - release/*
    - develop
    - master
    exclude:
    - experimental/*

推荐阅读