本文档介绍了分支模式的概念、重要性及其在软件开发中的应用。您将了解如何创建和管理分支,以便更好地进行版本控制和协作开发。
什么是分支模式
Flow强力支持分支模式:用户只需关心集成和发布哪些 feature 分支,而 release 分支的创建、管理和合并等工作可由 Flow 完成。
本节将详细介绍各类分支的使用方式。
master 代表最新发布版本
master 分支代表最新发布版本,直接取分支末端即可获取最新内容。建议从 master 分支创建其他分支,并经常从 master 分支合并,以减少将来集成时的各种问题。软件正式发布前,会确保基于 master 最新。
在各 feature 分支上开发
一条 feature 分支(也称变更分支),通常用来承载一个缺陷的修复,或者一个需求的开发,或者任务分解后一个任务的开发。
一般来讲,基于 master 分支最新版本创建 feature 分支。然后在 feature 分支上开发、测试,直到这个 feature 功能完成,质量合格,准备好去集成和发布。
release 分支上的集成
release 分支用于集成和发布。基于 master 分支最新版本创建一条 release 分支,然后把想要集成的各条 feature 分支合并到这条 release 分支,进行部署和测试工作。
如果有新的 feature 分支要加入本次集成,合并进 release 分支后再次部署并测试。
如果测试发现问题,在 feature 分支上修复后再次合并到 release 分支。如果某个 feature 问题过多,可以放弃该 feature,重新创建 release 分支并合并其他 feature 分支。
release 分支由系统自动管理,使用者不要直接在上面改代码,代码修改请总是在 feature 分支完成。
release 分支上的发布上线
当 release 分支质量足够好且功能齐备时,可以考虑发布上线。发布上线前,确保基于最新的基础分支(如 master)。发布后将 release 分支合并回 master,使 master 代表最新发布版本。
请参见下图:
多个环境/流程时
如果发布上线需要经过多个测试环境(如日常测试、预发测试),使用一条 release 分支可能不合适。因为不同环境可能同时在测试不同的 feature 分支集合。
解决方法是每个测试环境关联自己的 release 分支。这样,日常测试和预发测试环境分别关联各自的 release 分支,避免相互影响。正式运行环境也对应一条 release 分支。
当将集成成果从一个环境传递到下一个环境时,实际做法是基于 master 分支创建新的 release 分支,然后将前一个环境的 release 分支合并到新的 release 分支上。
请参见下图:
以上是关于分支模式的原理性介绍,以下我们看一下如何在流水线中使用分支模式。
如何在流水线中使用分支模式
编排流水线
流水线的新建方式与其他流水线相同。当新建流水线时选择开启分支模式,会自动创建包含【分支管理器】的分支模式流水线。
新建流水线。
添加代码源,以使用云效Codeup为例,选择代码库,选择开启分支模式,然后单击添加。
添加完成后,在流程配置页面可以看到第一个阶段Git分支管理器。在分支管理器中设置基础分支(默认是 master),发布分支从基础分支创建并合并运行分支。分支管理器只能在第一个阶段配置,且不能配置并行任务。
运行流水线
流水线配置完成后,可以开始运行。
在运行配置中,添加运行分支。
进入添加运行分支对话框,选择运行分支。若在代码源选择了其他代码库,这里输入运行分支。可以添加多个分支。
运行分支添加完成后,可以开始运行。在 Git分支管理器卡片中查看执行结果及日志。若合并冲突,根据提示解决冲突后继续运行。
通过查看分支或分支详情可以查看创建的 release 分支及运行分支信息。
再次运行时,可以选择继续添加分支或删除已集成分支。
删除已集成分支,执行流水线时将会进行以下操作:
基于分支管理器中设置的基础分支(如 master),创建新的 release 分支。
除了该特性分支外的其他在云效配置中的其他分支合并到 release 分支。
基于 release 分支的最新内容运行流水线。
- 本页导读 (1)
- 什么是分支模式
- master 代表最新发布版本
- 在各 feature 分支上开发
- release 分支上的集成
- release 分支上的发布上线
- 多个环境/流程时
- 如何在流水线中使用分支模式
- 编排流水线
- 运行流水线