共计 2457 个字符,预计需要花费 7 分钟才能阅读完成。
什么是分支模式? 如何在云效流水线 Flow 中高效落地分支模式?在应用分支模式过程中用户能够只须要关怀集成和公布哪些 feature 分支,而对 release 分支创立和治理、分支合并等一系列工作,能够托付给云效 Flow 来 实现。可能很好的节俭咱们的工夫,更高效的实现工作。
什么是分支模式?
云效 Flow 对分支模式提供了强有力的反对:用户能够只须要关怀集成和公布哪些 feature 分支,而对 release 分支创立和治理、分支合并等一系列工作,能够托付给 Flow 来 实现。
本节内容具体介绍分支模式下,各 (类) 分支的应用形式。
master 代表最新公布版本
个别状况下,master 分支代表最新公布版本。当须要最新公布版本的内容时,间接取分支末端即可。
不管其余哪类分支,都倡议个别从 master 分支创立,并且常常从 master 分支合并,以便跟上“潮流”,缩小未来集成时的各种问题,比方代码合并抵触。
每当软件正式公布前,零碎会确保它基于 master 最新。
每当软件正式公布后,零碎会把相应内容合并回 master,以便让 master 分支始终代表最新公布版本。
一般来说,使用者不要间接“写”货色到 master 分支。把“写”的工作交给零碎适时主动实现。
在各 feature 分支上开发
一条 feature 分支(又称变更分支、开发分支),通常用来承载一个缺点的修复,或者一个需要(如果不是很大的话)的开发,或者工作合成后一个工作的开发。
一般来讲,基于 master 分支最新版本创立 feature 分支。而后在 feature 分支上开发、测试,直到这个 feature 性能实现,品质 OK,筹备好去集成和公布。
release 分支上的集成
release 分支用于集成和公布。基于 master 分支最新版本创立一条 release 分支,而后把想要集成的各条 feature 分支合并到这条 release 分支,进行部署和测试工作。
如果有新的 feature 分支要退出本次集成,那就把它也合并进这条 release 分支,而后再次部署并测试。
如果测试发现问题,就到 feature 分支上修复,而后把它再次合并到 release 分支,把修复带到 release 分支。
当然如果一个 feature 的问题太多太大,那罗唆就放弃它。也就是说,新建一条 release 分支,把其余 feature 分支都合并过来,唯独不再合并这条 feature 分支。
就像 master 分支一样,release 分支也是由零碎主动治理的。使用者不要间接在下面改代码,代码批改请总是在 feature 分支实现。
release 分支上的公布上线
当 release 分支上的品质足够好,本次想上线的性能也都具备之后,就要思考公布上线的问题啦。如后面讲的,公布上线前,会确保它基于根底分支(常见的如 master)最新。而公布后会把 release 分支合并回 master,让 master 代表最新公布版本。
以上几节介绍的内容,见下图:
** 多个环境 / 流程时
假设要想集成公布上线,要通过日常测试环境上的测试这个流程,还要通过预发环境上的测试这个流程,那么两个流程用一条 release 分支就有些不适合。因为两个流程可能同时在测不同的 feature 分支汇合。
分支模式用这个方法防止这个问题:每一个测试环境,也就是每个流程,关联它本人的 release 分支。日常测试、预发测试这两个环境(也就是两个流程),别离关联两条 release 分支。这样就不会相互影响。推而广之,为正式运行环境,也对应一条 release 分支。也就是说,每个环境都有对应的 release 分支。
当把集成成绩从一个环境传递到下一个环境时,就是把一个环境下已合并到一起的 feature 分支,再往另一个环境对应的 release 分支上合并一遍……这么做有点儿笨。零碎理论的做法是,基于 master 分支创立另一个环境对应的 release 分支,而后把前一个环境对应的 release 分支合并到新的 release 分支上。
本节介绍的内容,对应下图:
以上就是对于分支模式这种研发模式的原理性介绍,以下咱们看一下如何在流水线中应用分支模式。
如何在云效流水线中应用分支模式
编排流水线
云效流水线的新建形式其余流水线雷同,当新建流水线时抉择了「开启分支模式」,就会主动创立蕴含【分支管理器】的分支模式流水线。
1. 新建流水线
2. 增加代码源,以应用「云效 Codeup」为例,抉择代码库,抉择「开启分支模式」,而后点击「增加」
3. 增加实现后,在「流程配置」页面能够看到第一个阶段「分支管理器」。在分支管理器中设置根底分支,根底分支默认是 master。根底分支是公布分支的创立起源。公布分支从根底分支创立,而后合并运行分支。「分支管理器」只能是在第一个阶段配置,且在这个阶段不能配置并行任务。
运行流水线
云效流水线配置实现后,就能够开始运行了。
1. 在运行配置中,增加运行分支
2. 进入增加运行分支对话框,抉择运行分支。若在代码源抉择的其余代码库,这里输出运行分支。
能够增加多个分支
3. 运行分支增加实现后,就能够开始运行。在「分支管理器」卡片中能够查看执行后果及日志。若合并抵触,须要依据提醒解决抵触后持续运行。
通过「源」的「查看分支」或「分支管理器」卡片的「分支详情」能够查看创立的 release 分支及运行分支信息。
4. 再次运行时,能够抉择持续增加分支或删除已集成分支。
删除已集成分支,执行流水线时将会进行以下操作:
1. 基于分支管理器中设置的根底分支(如 master),创立新的 release 分支
2. 除了该个性分支外的其余在云效配置中的其余分支合并到 release 分支
3. 基于 release 分支的最新内容运行流水线
云效流水线 Flow 是一款企业级、自动化的研发交付流水线,提供灵便易用的继续集成、继续验证、继续公布性能,帮忙企业高质量、高效率的交付业务。流水线是继续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,实现从开发到上线过程的继续交付。通过继续向团队提供及时反馈,让交付过程高效顺畅。
更多「云效」产品,查看:云效疾速入门