全部产品
云市场

研发与发布(面向研发人员)

更新时间:2019-09-24 09:37:52

本文分别以 标准迭代紧急发布 为例,对从新建研发迭代到提交发布的整个过程进行介绍。

标准迭代

完成一个标准迭代主要包含以下 8 个步骤:

  1. 新建研发迭代
  2. 申请研发服务器(可选)
  3. 提交代码
  4. 配置变更(可选)
  5. 部署服务器
  6. 推进阶段
  7. 推进到发布阶段
  8. 提交发布

步骤 1:新建研发迭代

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

当有已完成的迭代,在 关联应用 旁边会出现 导入应用 按钮,点击 导入应用,系统将会从最近参与的迭代里导入应用。

步骤 2:申请研发服务器

  1. 新建研发迭代完成后,通过以下任一入口申请研发服务器:
    • 入口 1:在左侧导航栏上点击 研发迭代 > 我的迭代,在迭代列表中,点击迭代名称进入迭代详情页面。在常用操作栏上,点击 申请服务器,或在顶部导航栏上,点击 环境 > 申请服务器。
    • 入口 2:在左侧导航栏上点击 研发环境 > 我的服务器,然后点击 申请服务器。
  2. 输入服务器信息,点击 申请。申请服务器的操作记录详情如下图所示:
  3. 操作记录 选择申请记录,可以查看申请详情。

说明

  • 如果未申请研发服务器、pipeline 执行到部署组件时,会自动跳过。
  • 申请集成等其他线下阶段的服务的入口与申请服务器相同。
  • 已经绑定应用的线下环境服务器可通过 持续交付 > 研发环境 > 我的服务器 > 导入应用服务器 进行自助导入。

步骤 3:提交代码

  1. 新建研发迭代时,平台会自动拉取迭代分支。
  2. 可通过平台的研发活动页面、IDE 插件或代码服务页面向迭代分支提交代码。提交代码的方式有两种:Push 模式和 MR(Merge Request)模式。可通过 应用 > 元数据信息 > 锁定项目分支 属性设置切换模式,应用负责人和架构师有权限调整。
  3. 代码提交完毕后,平台能自动检测到并开始执行 Pipeline 流水线。流水线各组件如果执行失败,平台会自动通知代码提交人员,提醒代码提交人员及时进行处理。

步骤 4:配置变更

研发迭代中的配置变更包含以下类型的配置,详细说明参考相关文档。

  • 软件/新应用配置:支持对技术栈版本进行升级,比如 SOFABoot、SpringBoot 等。
  • CI 配置:在执行 CI 组件(比如规约扫描、单元测试、集成测试等)时需要的一些环境与参数配置,相关的内容可在此页面进行配置。
  • 中间件配置:支持对 SOFABoot 中间件(任务调度、消息队列、动态配置等)基于不同的环境修改配置和同步。

步骤 5:部署服务器

服务器部署可通过 Pipeline 自定义编排在每次提交代码时自动进行,但更推荐和代码提交解耦,通过手动的方式触发编译部署。

在迭代详情页面,点击 触发 Pipeline > 手动触发 Pipeline 触发编译部署并查看 Pipeline 部署进度。

步骤 6:推进阶段

  1. 一个迭代如果包含多个应用,可以按应用单独推进阶段。
  2. 阶段推进时,将检查以下几个方面是否满足要求:
    • 审批任务均已经完成:如果未完成,必须先完成审批任务。
    • 质量达标:质量标准可以在应用元数据中动态调整。如果迭代模板中已开启质量检查,在质量不达标的情况下推进阶段,需要通过加签审批流程。
    • 缺陷全部关闭。如果当前阶段有未关闭的缺陷,必须先关闭缺陷。(默认不开启,可按需配置)
  3. 阶段推进的过程中,如果出现代码冲突,需要重新提交 MR,直到冲突解决。
  4. 有些阶段在推进时,平台会根据迭代模板的配置自动把迭代分支合并到主干,并自动执行编译部署。
  5. 阶段推进后,如果需要修改代码,具体操作同开发阶段类似。针对 Master 的代码修改,不支持 Push 模式,只允许通过 MR 的方式提交,在指定人员审核代码之后,代码自动合并到 Master 分支。

步骤 7:推进到发布阶段

推进到发布阶段的过程同 推进阶段 的步骤 1、2。

推进阶段时还会检查前一阶段服务器上部署代码与 master 上的最新代码是否一致。

步骤 8:提交发布

推进到发布阶段后,提交发布单到应用 PaaS 发布平台,提交发布的前提条件为:

  • 该迭代的所有应用都已经到了发布阶段。
  • 如果迭代关联到了发布窗口,那么整个发布窗口包含的所有应用都必须已经推到了发布阶段。

提交发布之后,系统会自动生成标签(tag),同时自动同步应用 PaaS 发布平台的发布状态。点击 点击查看 可跳转到应用 PaaS 应用平台,执行发布操作。

紧急发布

紧急发布与标准迭代的主要区别在于紧急发布类型的迭代模板中相对会裁剪一些阶段。完成一个紧急主要包含以下 8 个步骤:

  1. 新建紧急发布
  2. 申请研发服务器(可选)
  3. 提交代码
  4. 配置变更(可选)
  5. 部署服务器
  6. 推进阶段
  7. 推进到发布阶段
  8. 提交发布

步骤 1:新建紧急发布

操作步骤同 标准迭代,选择 紧急发布 迭代类型即可。

步骤 2:申请研发服务器

操作步骤同 标准迭代

步骤 3:提交代码

操作步骤同 标准迭代

步骤 4:配置变更

操作步骤同 标准迭代

步骤 5:部署服务器

操作步骤同 标准迭代

步骤 6:推进阶段

  1. 一个迭代如果包含多个应用,可以按应用单独推进阶段。
  2. 阶段推进时,将检查以下几个方面是否满足要求:
    • 审批任务均已经完成:如果未完成,必须先完成审批任务。
    • 质量达标:质量标准可以在应用元数据中动态调整。如果迭代模板中已开启质量检查,在质量不达标的情况下推进阶段,需要通过加签审批流程。
    • 缺陷全部关闭。如果当前阶段有未关闭的缺陷,必须先关闭缺陷。(默认不开启,可按需配置)

默认情况下,紧急发布采用分支开发分支发布的策略,推进阶段后,如果需要修改代码,目标分支仍然是迭代分支,其他参考 标准迭代

步骤 7:推进到发布阶段

推进阶段时,会检查前一阶段服务器上部署代码与迭代分支上的最新代码是否一致。

步骤 8:提交发布

发布完成后,代码自动合并到主干 master,其他同 标准迭代