A_D*_*teo 2 java continuous-integration bamboo maven git-flow
这是一种尝试跨分支实施有条件构建的尝试,由于BAM-11257(自2012年以来一直开放,至今仍未完成),因此默认情况下是不可能的。
内容:
develop分支已实施(无效)方法:
(?=(feature.*|bugfix.*)).*$),然后在其阶段和工作中提供所需的行为。(?=(hotfix.*|release.*)).*$),然后分阶段使用自己的行为develop。这可以正常工作,每个分支都有基于所需行为的自己的构建计划。但是,将任何分支合并到时develop,这三个构建计划是并行启动的,因为它们三个develop在其“存储库”中均作为原始分支条目。
问题:如何避免这种副作用?我们如何只为某些分支类型而不是原始分支(在这种情况下develop)指定构建计划?
我知道Bamboo需要一个起源,它可以根据某种策略(正则表达式)从其分支克隆新的构建计划,但是我们如何才能阻止它为原始分支运行构建计划呢?或者,我们可以定义一个构建计划的分支类型分别比它的起源和基于动态名称(例如feature-something,feature-bob)?
(关于最后一点:在“存储库”中,我们可以指定一个分支作为源,但这是一个静态值,我们不能在其中放置一个正则表达式,我想这可以解决整个问题)
可以在Bamboo中为分支“ 类型 ” 定义一个构建计划,并且默认情况下不链接到其他分支。因此,Bamboo计划配置仅适用于动态分支,没有默认分支可运行。
主要的误解来自以下几点:
develop)定义了构建计划,而您实际上希望为动态分支(例如尚未创建的功能分支)定义了构建计划。(?=(feature.*|bugfix.*)).*$上面提到的I),构建计划将被相应地克隆,但主要问题是整个构建计划仍将在默认存储库的默认分支上运行,而您通常不希望这样做。master和平行的新分支,develop我们称之为它bamboo-management-branch,甚至可以通过Bitbucket阻止其删除或更改,然后将该分支用作初始计划配置中默认存储库条目的默认分支。而已。现在,您有了一个团队中没有人使用的分支,一个永远不会运行的构建计划,但是将根据您的分支策略在存储库中的动态分支上进行克隆。上面建议的使用“ Git”而不是“ Bitbucket / Stash”存储库的选项也很完美,因为那里的“ branch”选项不是必需的,是一个开放的文本字段(而不是下拉列表),因此您可以在此处输入不存在的分支名称作为解决方法(请注意:如果您将其保留为空,则master根据官方文档,默认情况下它将指向。
这是您需要为“ Bitbucket / Stash”存储库条目中的现有分支提供的强制分支名称:

如您所见,我创建了一个虚拟ci-branch角色以使其高兴,它不会被开发团队使用,它是gitflow分支之上的另一个分支,但仅用于CI管理。
再次说明一下,它是默认存储库的重要部分,而不是默认分支。分支不仅可以从默认分支创建,还可以在该存储库中的任何位置创建。只要正则表达式满意,就将克隆构建。
最后,这是使用纯“ Git”存储库条目而不是“ Bitbucket / Stash”的附加选项:

如您所见,这里的分支条目是可选的,也符合我们的需求,尽管那样您可能会错过一些不错的Bamboo-Bitbucket自动集成功能(这就是为什么,尽管这种方法很干净,但在bitbucket条目中创建一个虚拟分支听起来仍然很合理)。
| 归档时间: |
|
| 查看次数: |
2744 次 |
| 最近记录: |