全部产品
云市场

多版本发布

更新时间:2019-09-10 18:31:26

基于同一产品的某个版本定制开发是一种非常典型的开发模式,可以为不同用户创建不同的定制版本,也可以为不同的租户创建不同的定制版本,还可以针对不同的技术或相关产品创建定制版本。如何既保证产品的一致性,又维护定制版本的特殊性,提高开发效率,降低产品维护及升级成本正是多版本发布需要解决的问题。

本文以行业云需要支持基于某个历史版本进行研发交付为例,说明如何进行多版本发布。

分支策略

在行业云的场景中,有多个线上银行或基金租户,需要部署不同的版本,在以下示例中,环境 1、环境 2 分别表示不同的租户。下图展示根据不同环境当前部署的版本,演进该环境的版本发布。

分支策略

操作过程

如果是基于最新版本进行开发,则选择标准迭代方式,具体参见 研发迭代

当需要基于某个历史版本的环境发布时,可从指定的历史版本新建分支,发布生成新的版本。如上图所示,要基于 V2.0 发布环境 2,则从 V2.0 新建分支,发布生成 V2.1。此时,您可以根据实际情况来决定是否将分支合并到 master 并进行相应的处理。

要进行多版本发布,您需要完成以下操作:

  1. 维护多版本信息。对于基于某个历史版本的发布,线下维护环境、发布版本、基线的对应关系,如环境 2 当前使用的是 V2.2 版本,对应的 tag 是 V2.2。可以采用文档的方式进行维护,参考格式如下,可根据实际业务需要增加字段信息。

    环境 版本 标签(tag) 是否当前环境最新版本 发布 ID
    环境 2 V2.1 V2.1 ECR10000002
    环境 2 V2.2 V2.2 ECR10000005
    环境 2 V2.3 V2.3 ECR10000007
  2. 新建多环境紧急发布。根据多版本信息记录,确定拉分支起始点。如上图所示:环境 2 对应的是 tag V2.3,则基于 V2.3 创建分支。

  3. 发布迭代。
  4. 当该迭代发布后,打 tag 并记录版本信息。通过 代码服务 > 仓库 > 选择仓库 > 标签 > 新建标签 来创建 tag,并记录在版本信息中。
  5. 根据业务需求确定是否需要合并分支到主干,若需要合并到主干,则通过代码服务中的合并请求功能完成相应的合并操作。