内容

一、分支标准

二、版别号约好

2.1 主版别号(榜首个版别号)

2.2倍版别号(迭代次数)

2.3 非必须版别号

三、云效飞流流最佳实践(运用阿里如此效)

3.1 全体流程图

3.2 宫兴和阿吉的最佳实践

3.2.1 创立一个特性分支()

3.2.2 管道创立

3.2.3 每日环境发布

3.2.4 预发布环境发布

3.2.5 危险分支下线

3.2.6 出产版别

3.2.7 出产版别:编写基线

四、常见问题

一、分支标准

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

二、版别号约好

在最佳实践中,咱们常用的版别号是三位数的版别号,由以下几部分组成:

V 首要版别号。非必须版别号。非必须版别号

例如:V1.0.0、V1.5.0、V1.13.1 等。

2.1 主版别号(榜首个版别号)

主版别号也称为首版号和顶版号,即V之后的榜首个版别号。主版别号一般代表项目的阶段数和产品方向。除非项目合约改动、大规划API不兼容、产品方向改动、底层架构晋级等,不然不容易更新

别的,假如项目没有正式发布、未正式孵化或未正式上线,则榜首版号为0,榜首期发布为V1,第二期发布为V2。

2.2倍版别号(迭代次数)

非必须版别号,也称为迭代号,一般表明迭代发布中发布的功用集(一个迭代发布包括多个功用更新)。

比方V1.1.0:项目榜首阶段的榜首迭代发布版别,V1.2.0:榜首阶段第二迭代发布版别,榜首阶段十八次迭代发布:V1.18.0。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第2张

2.3 非必须版别号

非必须版别号是一个小迭代集,用于一些小功用的暂时发动和热修正的暂时发动。它一般不包括首要的功用更新,而且一般环绕功用点的晋级或过错修正而发动。

三、飞流流最佳实践(运用阿里云作用)

为了更好地运用飞流流,咱们将结合阿里如此效应来解说飞流流的最佳实践。

3.1 全体流程图

下图以最达观的办法展现了流模型。能够看出,分支是多个集成版别。一起能够通过管道进行安排,在不同的项目环境中运用。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2 宫兴和阿吉的最佳实践

请两位同学作如下解说,他们是【公兴】和【阿吉】。

3.2.1 创立一个特性分支()

项目组规划了迭代V1.1.0,其间包括

修正了一个bug【龚兴同学】

功用开发【阿吉学生】

功用开发【龚兴同学】

在迭代之初,宫兴和阿吉会创立三个功用分支,避免三个分支的功用代码互相耦合。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

分支创立后,库房中的分支如下图所示,担任开发的同学能够在各个分支上进行开发,互不影响。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2.2 管道创立

在云效应中,流水线能够分为三种环境,分别是:【日常环境】、【预出产环境】和【出产环境】。云效中的流水线为咱们供给了多种灵敏的构建过程、布置过程和手动卡点模板,咱们能够依据不同的需求创立流水线流程。

龚星这样创立他的项目管道(请疏忽正式环境的构建失利):

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

日常环境和预发布环境常常用于开发和测验,所以他的过程比较简单:

即:【分支整合】-【前后端建造】-【前后端产品】-【前后端布置】

留意:在【布置阶段】,为当时流水线布置的机器能够完结流水线与布置环境的绑定。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

需求留意的是,由于咱们需求运用飞流流来办理项目的版别,所以在榜首步【】挑选中,选中的库房需求敞开分支方式(当同一个管道有多个构建源时(比方一个管道需求一起构建前后端),只支撑一种源设置分支方式)

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第10张

3.2.3 每日环境发布

完结流水线设置后飞流账号办理,能够点击【运转】对流水线进行测验。在运转时,由于敞开了分支方式,所以此刻需求将增加到【DEV 日常流水线】的分支增加到构建列表中。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

运转后,分支办理器会整合 、 、 等三个分支,生成一个新的[/]分支(如下图),这个分支便是专门服务于日常环境的发布分支。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

至此,咱们的版别线是这样的(红线代表云效分支办理器主动集成)。需求留意的是,咱们不应该直接修正分支(处理抵触在外)

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

跟着日常开发的不断发展,每逢分支上的同学提交代码并触发流水线从头运转时,分支办理器就会整合分支,构成一个包括最新分支代码的新分支代码。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2.4 预发布环境发布

通过每天搬砖的辛勤作业飞流账号办理,阿吉和公兴担任的功用通过了自测和每日抽,能够在预发布上进行验证。

这时候就需求将这两个分支整合到预发流水线中。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

挑选好需求集成的分支后,点击运转,在预发布环境中发布这两个分支。

此刻的版别线是这样的(绿线代表pre-分支办理器的集成)。通过这种办法,登台环境能够在有和没有最新代码的情况下取得洁净的提交。

测验学生和开发学生能够在预发布环境中预发布和验证功用。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

相同的,当公兴的功用也进行了开发和自测,而且通过日常的smoke验证后,能够将自己的分支加入到预发布流水线中,完结正确的集成。至此,整个版别线如下:

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2.5 危险分支下线

在预发布环境的预发布验证和测验中,测验人员发现,尽管【阿吉】开发的功用现已开发,但他的改动会影响某个功用的正常运转,发布日期火烧眉毛。现在的改动必定为时已晚。此刻,阿吉的分支是危险分支,无法上线。这时候就需求下线Aji在预发布管道中的代码。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

下线后,由于会触及到更多的改变,云霄的分支经理睬主动将两个分支从头整合到发布分支[]中,用于为咱们创立的另一个预发布环境,以削减代码抵触的次数处理。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

至此,版别线如下图所示(蓝线为云效分支办理器集成,本来的/分支现已废止,换成/):

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2.6 出产版别

将测验通过的分支增加到出产流水线(如3.2.4个过程)并履行构建完结出产环境的发布。在出产环境中运转的分支也是一个分支。

在实践中,主张在出产环境的发布过程中增加手动卡点(批阅),即流水线设置能够如下:

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第2张

【建立】-【布置批阅(手艺卡点)】-【灰度布置(批量)】-【出产布置(批量)】-【出产验证(手艺卡点)】-【写基线】

3.2.7 出产版别:编写基线

编写基线是指将发布分支的代码兼并到当时分支中,一般在出产验证完结后履行。

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

发布完结后,全体版别线流程图为

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

四、常见问题

Q1:Cloud Flow下如何做代码和拉取恳求?

A1:根据Cloud Flow进行团队协同开发时,能够环绕分支进行code和pr操作,即除了维护分支外,分支也遭到维护,不允许直接提交到分支,并别的为拉取恳求创立/分支。不仅如此,在终究发布到出产之前设置手动卡点进行代码操作也是可行的,仅仅代码的粒度不同(前者根据每个,后者根据整个功用)发布)。假如团队发布节奏紧迫,人力资源不行,能够采纳手动卡点+团队代码的办法再发布。

Q2:Cloud Flow合适什么样的开发场景或开发团队?

A2:Cloud Flow 合适中等规划的团队。需求在一次迭代中开发的内容触及不同的事务范畴,存在分支发布或迭代周期穿插的危险(如1.2.1和1.2.1 和 1.2.1 和 1. @1.3.0 一起开发和测验)灵敏团队。比方在上面的最佳实践中,同学【阿吉】发现上线前会影响其他事务功用的开发,所以需求下车,暂时不发布;假如一个开发团队只要两三个人,那么一切都简单易行。

Q3:我能够在不运用云作用的情况下完成 Flow 吗?

A3:现在运用云特效完成Flow是最省时的。假如不运用云特效,也能够选用人工办理分支构建+流水线的办法完成Flow(或许运用脚本主动兼并分支)

Q4 : 不能删去长途分支吗?

A4:是不能删去的,但由于发布后现已兼并到中,所以不删去保留在库房中没有意义。

Q5:一起开发多个分支时遇到代码抵触怎么办?

A5:Cloud 供给了完好的抵触处理教程。最安全的办法是将集成分支拉到本地,本地处理抵触,构建成功后再提交到长途分支

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

3.2.4出产环境发布3.2.5风险分支下线(运用阿里如此效)的创立  第1张

Q6:我需求鄙人一次迭代中从头创立管道吗?

A6:不需求,你只需求删去本来需求集成到原管道中的分支(其实发布后也会主动删去),然后从头增加需求发布的功用分支。

Q7:预发布和日常作业集成同一个。重建后新的提交会影响两个环境吗?

A7:一旦预发布流水线和日常流水线整合到同一个分支,开发者在提交代码后会触发从头布置,在预发布环境和日常环境中都会出现最新的特性。

Q8:几个分支会不会互相兼并(比方日常和预发布)?

A8:不,分支是互相独立的,互相没有任何关系。它们仅在称号部分相同。

Q9:相比之下,感觉更灵敏自在,危险操控也比较稳定。那么它是最好的版别办理模型吗?

A9:没有最好的版别办理方式,合适自己出产具体情况的便是最好的

以上便是项目版别办理的最佳实践:云效飞流流文章的全部内容,欢迎在谈论区评论并提出改善主张!

原始链接