
# 方案概述
#### HE2E DevOps框架简介
HE2E DevOps实施框架是CodeArts结合自身经验与业界先进的实践提出了一套可操作可落地的敏捷开发方法论。
图1HE2E DevOps实施框架   
![](https://support.huaweicloud.com/bestpractice-projectman/zh-cn_image_0000001353976544.png "点击放大")
表1HE2E DevOps实施框架 
| 阶段    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|
| 规划和设计 | 步骤①和②是业务（或者是客户）与技术之间进行产品规划，梳理产品整体脉络，以及进行产品规划实施设计，并控制需求粒度与拆分的过程。 - 软件开发的本质是为了解决问题，提供用户价值的，而不仅是为了提供功能。影响地图就是用来鉴别用户需求是什么，深层的根因是什么。  - 用户故事就是目标和需求的载体，以用户的场景来讲故事，便于在客户、业务与开发之间进行信息的传递。在这个过程中，独立的需求条目的堆积，很容易导致只能看到各个需求条目，不能从整个解决方案思考需求。用户故事以用户使用的场景为主线，将大的阶段点，及其细分的活动，以树状的结构进行梳理和展现，既可以看到独立的需求条目，又能够看到整体需求场景。                                                                                                                                                                                                                                                                                               |
| 计划和跟踪 | 步骤③\~⑩是Scrum框架过程，是主要的管理实践。 - Scrum定义了一个相对完整的敏捷过程管理的框架。在CodeArts中，将Scrum的框架与团队日常的开发活动融合起来。主要的过程产物包括产品故事列表、迭代故事列表、潜在可交付的产品增量、以及过程中产生的问题列表；核心的团队活动包括迭代计划会议、每日站会、迭代演示会议、迭代回顾会议等会议、以及团队的日常更新。  - 同时，借鉴Kanban方法中的精益思想，可视化价值流，发现并解决阻塞与瓶颈，加速价值流交付，并加快反馈回路，持续进行改进。                                                                                                                                                                                                                                                                              |
| 迭代开发  | 步骤③\~⑩是Scrum框架过程，是主要的管理实践。 - Scrum定义了一个相对完整的敏捷过程管理的框架。在CodeArts中，将Scrum的框架与团队日常的开发活动融合起来。主要的过程产物包括产品故事列表、迭代故事列表、潜在可交付的产品增量、以及过程中产生的问题列表；核心的团队活动包括迭代计划会议、每日站会、迭代演示会议、迭代回顾会议等会议、以及团队的日常更新。  - 同时，借鉴Kanban方法中的精益思想，可视化价值流，发现并解决阻塞与瓶颈，加速价值流交付，并加快反馈回路，持续进行改进。                                                                                                                                                                                                                                                                              |
| 持续交付  | 从步骤⑪开始，进入到工程实践，也就是通常说的CI/CD过程。 - 持续交付以代码仓库为基础，除了传统意义的代码资产安全与管控、多人并行开发、版本与基线管理外，也体现了团队的协作与沟通。  - 代码检查（即静态扫描）、自动化的构建、各阶段的自动化测试、以及自动化部署过程，都被串联在流水线上。  - 除了代码检查、构建、测试、部署等动态的阶段与活动，还有制品管理、环境管理（包括开发环境、测试环境、准生产环境，以及生产环境等）。  - 持续交付流水线就是将整个持续交付中，都有哪些阶段，分别运行在什么环境，每个阶段执行什么活动，准入与准出的质量门禁，以及每个阶段的输入与输出的制品进行管理。   |
   
#### 应用场景
通过一套汽车零部件配件电子商城示例代码"凤凰商城"，以及"DevOps全流程示例项目"，介绍如何使用CodeArts实现HE2E DevOps框架。该方案适用于Scrum研发项目。
#### 方案架构
- "DevOps全流程样例项目"构成 "DevOps全流程样例项目"是一个Scrum类型的模板项目，项目中预置了部分服务的使用模板。项目实践过程中涉及到的产品及服务如下表。
  表2实践涉及产品/服务列表 
  | 服务                 || 说明                                                                                                                                                                                                                                                                                          |
  |:---|---|:---|
  | CodeArts | 需求管理     | 预置3个已规划并已完成的迭代、项目的模块设置、以及若干统计报表。                                                                                                                                                                                                                                                            |
  | CodeArts | 代码托管     | 预置代码仓库"phoenix-sample"，存放项目示例代码。                                                                                                                                                                                                                                                            |
  | CodeArts | 代码检查     | 预置4个任务                                                                                                                                                                                                                                                                                      |
  | CodeArts | 编译构建     | 预置5个任务。                                                                                                                                                                                                                                                                                     |
  | CodeArts | 制品仓库     | 用于存储通过构建任务生成的软件包。                                                                                                                                                                                                                                                                           |
  | CodeArts | 部署       | 预置3个应用。                                                                                                                                                                                                                                                                                     |
  | CodeArts | 测试计划     | 功能测试用例库，预置十余个测试用例。                                                                                                                                                                                                                                                                          |
  | CodeArts | 流水线      | 预置5条流水线。 说明： 购买专业版或企业版CodeArts套餐的用户，创建示例项目后可见5条流水线；购买体验版或基础版CodeArts套餐的用户，创建示例项目后只可见流水线"phoenix-workflow"，升级套餐至专业版或企业版后，需重新创建示例项目才可见5条流水线。 |
  | 其它组件和服务  | 统一身份认证服务 | 用于管理账号。                                                                                                                                                                                                                                                                                     |
  | 其它组件和服务  | 容器镜像服务   | 用于存放构建任务生成的Docker镜像。                                                                                                                                                                                                                                                                        |
  | 其它组件和服务  | 云容器引擎    | 用于软件包部署，与ECS部署属于两种不同的部署方式。                                                                                                                                                                                                                                                                  |
  | 其它组件和服务  | 弹性云服务器   | 用于软件包部署，与CCE部署属于两种不同的部署方式。                                                                                                                                                                                                                                                                  |
     
  
 
