持续部署触发器中“构建分支过滤器”的目的是什么?
What is the purpose of `Build branch filters` in Continuous deployment trigger?
构建管道只能绑定到 1 个源分支。
在发布管道中,我们通过选择源构建管道来配置工件。因此,发布工件只能绑定到 1 个构建管道。
持续部署触发器中 Build branch filters
的用途是什么?
假设您的代码库已更新。只有在特定分支上进行构建时才需要部署(示例 develop
)。
在那种情况下 Build Branch Filter
看起来相当多余...但是如果:
您想为每个 latest
工件触发新部署,从 each
功能分支构建以测试它们。您必须过滤 feature/*
.
如果您的发布分支已更新,您希望触发新的部署,但其中一些已被弃用,您需要将它们过滤掉。我在那个场景中指定了一个 include
过滤器 release/*
和第二个 exclude
过滤器 release/old*
.
无论如何..在大多数情况下,过滤器和分支名称(在工件中)将相互匹配。有时从多个分支触发部署或过滤掉某些东西仍然令人兴奋。
关于您的评论,我上传了yaml build
的一部分。事实上,如果您愿意,一个构建可以从存储库中的所有分支创建工件。
trigger:
branches:
include:
- feature/*
- bugfix/*
- release/*
- develop
- master
exclude:
- experimental/*
构建管道只能绑定到 1 个源分支。
在发布管道中,我们通过选择源构建管道来配置工件。因此,发布工件只能绑定到 1 个构建管道。
持续部署触发器中 Build branch filters
的用途是什么?
假设您的代码库已更新。只有在特定分支上进行构建时才需要部署(示例 develop
)。
在那种情况下 Build Branch Filter
看起来相当多余...但是如果:
您想为每个
latest
工件触发新部署,从each
功能分支构建以测试它们。您必须过滤feature/*
.如果您的发布分支已更新,您希望触发新的部署,但其中一些已被弃用,您需要将它们过滤掉。我在那个场景中指定了一个
include
过滤器release/*
和第二个exclude
过滤器release/old*
.
无论如何..在大多数情况下,过滤器和分支名称(在工件中)将相互匹配。有时从多个分支触发部署或过滤掉某些东西仍然令人兴奋。
关于您的评论,我上传了yaml build
的一部分。事实上,如果您愿意,一个构建可以从存储库中的所有分支创建工件。
trigger:
branches:
include:
- feature/*
- bugfix/*
- release/*
- develop
- master
exclude:
- experimental/*