全部产品
云市场

研发迭代管理

更新时间:2019-09-24 09:35:34

开发者在研发迭代中完成代码提交、代码扫描、集成测试、构建、部署、提交发布等操作。

在开始软件开发之前,需要先简单了解一下 迭代类型及迭代流程。一个完整的迭代流程主要包括以下三大环节:

  1. 新建迭代。以标准迭代为例,迭代创建完成后进入开发阶段。迭代创建后,可 查看迭代详情
  2. 针对迭代关联的应用,完成应用的 代码提交配置变更申请服务器触发 Pipeline 等操作。
  3. 推进迭代 到下一阶段。若一个迭代下有多个应用,可以通过 迭代整体推进 把该迭代下的所有应用推进到下一阶段。当迭代推动到发布阶段并发布成功(详见 生产发布说明),迭代完成。

在迭代过程中,可以 修改迭代信息,还可以 废弃迭代

迭代类型

迭代类型可根据租户需求进行定制。通常情况下,在租户初始化时会定义 2 种迭代类型:标准迭代和紧急发布。

  • 标准迭代:主要是用于常规的开发发布。标准迭代一般包含开发阶段、集成阶段、预发阶段、发布阶段四个阶段。
  • 紧急发布:主要用于常规发布外的紧急发布。紧急发布包含开发阶段、预发阶段、发布阶段三个阶段。

迭代类型及包含的阶段都可以在研发流程配置中定义。

新建迭代

  1. 通过以下任一入口新建迭代:
    • 入口 1:在 工作台 > 最近参与的迭代 区域,点击 新建迭代,选择迭代类型。
    • 入口 2:进入 研发迭代 > 我的迭代,点击 新建迭代,选择迭代类型。
  2. 在新建迭代页面,输入以下信息:
    • 迭代名称:填写迭代名称。
    • 关联应用:填写涉及的应用名,其中“独立发布”应用表示由独立发布应用创建的迭代可以不关联日常发布窗口就可以直接发布;“日常发布”应用表示由日常发布应用创建的迭代必须关联日常发布窗口才能发布。若无应用可选,可新建或导入应用。
    • 对应分支(当选定应用后会出现):对应开发阶段进行研发使用的项目分支。可以自定义分支名和分支拉流使用的 Tag。
    • 添加应用:添加更多应用到迭代中。
    • 关联项目(选填):关联项目协作中的项目。关联项目之前,确保项目协作组件已开通。
    • 关联需求/缺陷(选填):关联项目中的工作项。
    • 迭代负责人:默认为迭代创建者,可增加其他成员。
    • 迭代成员:默认为迭代创建者,可增加其他成员。

查看迭代

从左侧导航栏进入 研发迭代 > 我的迭代,即可查看迭代列表。

迭代的搜索方式包括简易搜索和高级搜索两种。

  • 简易搜索:可根据您是否为迭代创建人、是否为迭代成员、迭代是否已经完成以及迭代名称关键字进行搜索。
  • 高级搜索:搜索条件如下图所示。

    高级搜索

搜索结果包括迭代 ID、迭代名称、迭代名称、负责人、创建时间、关联发布、发布时间、关联项目、状态、阶段。

修改迭代信息

修改基本信息

  1. 从左侧导航栏点击 研发迭代 > 我的迭代,在迭代列表中,点击迭代名称进入迭代详情页面。
  2. 点击顶部导航栏上的 设置 标签。
  3. 在设置页面修改迭代名称、关联项目、迭代成员信息。

新增应用

可通过以下任一入口新增关联应用:

  • 在迭代详情页面,点击顶部导航栏上的当前应用名 > 添加应用

    4

  • 在迭代详情页面,点击顶部导航栏上的设置图标,点击设置页面 应用管理 栏中的 添加应用

删除应用

在迭代详情页面,点击顶部导航栏上的设置图标,点击设置页面 应用管理 栏中的 删除

查看迭代详情

创建迭代完成后,在迭代列表中,点击迭代名称即可进入迭代内应用的研发活动页面。该页面整体包含 5 个部分。

  • 顶部导航栏
    • 迭代名
    • 应用名:点击应用名可概览迭代内所有应用并切换至其他应用的研发活动页面。
    • 迭代推进:将应用批量推进到下一阶段或进行批量预发布操作。
    • 环境:申请线下环境(比如开发环境)服务器。
    • 质量:质量看板,可获取迭代内各应用质量信息。
    • 需求:修改和查看迭代关联的需求。
    • 缺陷:创建和查看迭代关联的缺陷。
    • 发布配置:配置与迭代关联的发布的相关信息,或关联发布窗口。
    • 操作日志:与迭代相关的操作记录。
    • 设置:设置迭代名,设置迭代成员,添加应用,废弃迭代等操作。
  • 迭代阶段
  • 常用操作栏
    • 完成**阶段(例如:完成开发阶段)
    • 提交 MR
    • 配置变更
    • 触发 Pipeline
    • 申请服务器
    • 定制 Pipeline
  • 应用研发活动及 Pipeline 展示
  • 应用实时质量看板

提交代码变更

开发阶段代码提交有两种方式:

  • 集中工作流方式(Push 模式):所有修改都直接提交到目标分支上。首先克隆仓库,然后在本地的工作副本中编辑和提交修改,修改保存在本地。当修改完成后,将本地分支的修改推送到远程仓库,推送后触发 Pipeline。
  • 分支工作流方式(MR 模式):该模式以集中工作流为基础,不同的是为各个新功能分配一个专门的分支来开发。这样可以在把新功能集成到正式项目前,用 MR 的方式触发 Pipeline 完成代码审核及验证工作。

在开发阶段,平台默认支持的是 Push 模式,如果要改成 MR 模式,则需要在应用元数据中设置(仅应用负责人和架构师有权限修改)。如果应用开启了 锁定项目分支,新建迭代拉流后,系统会自动锁项目分支,阻止直接 Push 代码到项目分支。

在进入集成阶段以后,平台提供的是 MR 模式,如果要修改主干代码,只能通过 MR 模式向主干提交。操作步骤如下:

  1. 在页面上方的常用操作栏中点击 提交 MR
  2. 在新建 MR 页面,输入以下信息:
    • 源分支:要 Push 到远程的个人开发分支。
    • 目标分支:不可变更。
    • 标题
    • 描述
    • 需要评审:若选择 ,还需要填写评审人、评审通过票数。

提交配置变更

点击 配置变更。当完成配置变更后,需要手动触发 Pipeline。

申请研发服务器

可申请不同研发环境的服务器并结合 Pipeline 将最新的代码部署至服务器上测试。操作步骤如下:

  1. 在迭代详情页上方的常用操作栏中,点击 申请服务器
  2. 在服务器申请页面,输入以下信息:
    • 环境/工作空间(必填):对应代码部署环境,包括开发环境,稳定环境,测试环境等。
    • 服务器信息(必填)
    • 部署单元:对应为应用名。
    • 部署代码分支:对应 Git 仓库和分支。
    • 逻辑机房
    • 机器数量
    • 是否自动部署:如果开启,迭代下触发 Pipeline 会将最新提交代码部署到该机器上;如果关闭,迭代下触发 Pipeline 不会部署最新代码到该机器上。

部署服务器

在迭代详情页上方的常用操作栏中,点击 触发 Pipeline > 手动触发 Pipeline,即可触发 Pipeline 运行,一般用于编译构建和服务器部署。

推进迭代

阶段推进

迭代一般会配置几个阶段, 以默认的标准迭代为例,有开发阶段 -> 集成阶段 -> 预发布阶段 -> 发布阶段,通过点击操作栏中的 完成**阶段(如 完成开发阶段)完成阶段推进。

在迭代的推进过程中,研发效能平台会展示出当前迭代的基本信息供推进时做决策。展现的内容包括:

  • 质量(如果有质量数据未达标,标红提示)
  • 其他(可以根据业务实际情况增加其他检测项)

阶段推进2

迭代整体推进

点击页面顶部的 迭代推进 标签,进入迭代推进视图。此视图的作用是方便迭代管理员和项目经理等角色进行迭代整体推进。如果需要单独推进某应用的阶段,可以点击应用下方的 完成**阶段 进行。

迭代视图顶部会显示迭代当前阶段。如果有多个应用,此处显示的是进度最慢的那个应用的所处阶段。

迭代推进视图展示以下内容:

  • 应用信息列表,显示应用及所处阶段,处于当前阶段的应用阶段为蓝色,不处于当前阶段的应用阶段为灰色。默认选择全部应用,点击应用列表可切换当前的应用相关信息。
  • 当前阶段检查的所有卡点概要信息,必须在相关阶段检查卡点都完成后才可整体推进阶段。
  • 当前阶段检查的卡点的具体内容,包含所有待办任务、质量信息、以及其它阻塞迭代推进的事项。

当阶段检查卡点全部完成后,即可进行迭代整体推进,点击 批量推进阶段 按钮即可。迭代当前阶段下的所有应用都将会被推进到迭代的下一阶段,如当前阶段是开发阶段,此阶段的相关应用都会被推进到集成阶段。

完结和废弃迭代

当迭代推动到发布阶段并发布成功,即表示迭代完成。在发布完成之前,可以废弃迭代。

如果代码已经合并到了主干,那么废弃迭代之后,系统不会自动从主干扣除代码,这些代码会在下次发布时一并发布掉。所以,如果废弃迭代的同时也不需要已经合并到主干的代码,需要自行对代码进行处理。

在迭代详情页面的顶部操作栏中,点击 设置 > 废弃迭代