云服务器内容精选

  • 背景信息 华为端到端(HE2E)DevOps实施框架,是结合了多年研发经验并集合了业界先进的实践所形成的一套可操作可落地的敏捷开发方法论,如图1所示。 图1 HE2E DevOps实施框架 规划和设计 步骤①和②是业务(或者是客户)与技术之间进行产品规划,梳理产品整体脉络,以及进行产品规划实施设计,并控制需求粒度与拆分的过程。 软件开发的本质是为了解决问题,提供用户价值的,而不仅是为了提供功能。影响地图就是用来鉴别用户需求是什么,深层的根因是什么。 用户故事就是目标和需求的载体,以用户的场景来讲故事,便于在客户、业务与开发之间进行信息的传递。在这个过程中,独立的需求条目的堆积,很容易导致只能看到各个需求条目,不能从整个解决方案思考需求。用户故事以用户使用的场景为主线,将大的阶段点,及其细分的活动,以树状的结构进行梳理和展现,既可以看到独立的需求条目,又能够看到整体需求场景。 计划和跟踪、迭代开发 步骤③~⑩是Scrum框架过程,是主要的管理实践。 Scrum定义了一个相对完整的敏捷过程管理的框架。在CodeArts中,将Scrum的框架与团队日常的开发活动,很好的融合起来。主要的过程产物包括产品故事列表、迭代故事列表、潜在可交付的产品增量、以及过程中产生的问题列表;核心的团队活动包括Sprint计划会议、团队每日站会、Sprint演示会议、Sprint回顾会议等会议、以及团队的日常更新。 同时,将Kanban方法与Scrum框架进行了结合,团队借鉴Kanban方法中的精益思想,可视化价值流,发现并解决阻塞与瓶颈,加速价值流交付,并加快反馈回路,持续进行改进。 持续交付 从步骤⑪开始,进入到工程实践,也就是通常说的CI/CD过程。 持续交付以代码配置管理为基础,除了传统意义的代码资产安全与管控、多人并行开发、版本与基线管理外,也体现了团队的协作与沟通。 代码检查(即静态扫描)、自动化的构建、各阶段的自动化测试、以及相应的自动化部署过程,都被有机的串联在流水线上。 除了代码检查、构建、测试、部署等动态的阶段与活动,还有制品管理,以及各级的环境管理,包括开发环境、测试环境、准生产环境,以及生产环境。 持续交付流水线就是将整个持续交付中,都有哪些阶段,分别运行在什么环境,每个阶段执行什么活动,准入与准出的质量门禁,以及每个阶段的输入与输出的制品进行管理。
  • 方案架构 “凤凰商城”示例程序架构 “凤凰商城”示例程序的架构图如图2所示。 图2 凤凰商城技术架构图 示例程序由表1中的5个可以独立开发、测试和部署的微服务组件构成。 表1 凤凰商城微服务组件表 微服务组件 说明 Web用户端服务器(对应样例代码中的“Vote”功能) 业务逻辑:用户可以通过浏览器访问此服务的WebUI。当用户在特定商品上单击“Like”时,服务将用户所选择物品的记录保存在Redis缓存中。 技术栈:Python、Flask框架。 应用服务器:Gunicorn。 Web管理端服务器(对应样例代码中的“Result”功能) 业务逻辑:用户可以通过浏览器访问此服务的WebUI,会动态显示用户端UI上用户单击“Like”的统计数据,此数据来自PostgreSQL数据库。 技术栈:Node.js、express框架。 应用服务器:server.js。 后台订单批处理程序(对应样例代码中的“Worker”功能) 业务逻辑:此服务为后台进程,会监控Redis缓存中物品记录,并将新纪录取出并保存在PostgreSQL数据库中,以便管理端UI可以抽取数据进行统计显示。 技术栈:.net core或者Java(此服务提供两种技术栈实现了同样的功能,可根据需要修改配置选择其中一个作为运行时进程)。 订单缓存 业务逻辑:此服务作为用户端UI服务的数据持久化服务存在。 技术栈:Redis 订单数据库 业务逻辑:此服务作为管理端UI服务的数据源。 技术栈:PostgreSQL “DevOps全流程样例项目”构成 “DevOps全流程样例项目”是一个Scrum类型的模板项目,项目中预置了部分服务的使用模板。项目实践过程中涉及到的产品及服务如下表。 表2 实践涉及产品/服务列表 服务 说明 软件开发生产线 需求管理 预置3个已规划并已完成的迭代、项目的模块设置、以及若干统计报表。 代码托管 预置代码仓库“phoenix-sample”,存放项目示例代码。 代码检查 预置4个任务,任务详情介绍请参见步骤四:检查代码。 编译构建 预置5个任务,任务详情介绍请参见步骤五:构建应用。 制品仓库 用于存储通过构建任务生成的软件包。 部署 预置3个应用,应用详情介绍请参见步骤六:部署应用(CCE篇)。 测试计划 功能测试用例库,预置十余个测试用例。 流水线 预置5条流水线,流水线详情介绍请参见步骤八:配置流水线,实现持续交付。 说明: 购买专业版或企业版CodeArts套餐的用户,创建示例项目后可见5条流水线;购买体验版或基础版CodeArts套餐的用户,创建示例项目后只可见流水线“phoenix-workflow”,升级套餐至专业版或企业版后,需重新创建示例项目才可见5条流水线。 其它组件和服务 统一身份认证服务 用于管理账号。 容器镜像服务 用于存放构建任务生成的Docker镜像。 云容器引擎 用于软件包部署,与ECS部署属于两种不同的部署方式。 弹性云服务器 用于软件包部署,与CCE部署属于两种不同的部署方式。
  • 操作流程 本文档将按照以下步骤介绍HE2E DevOps实践的操作流程。 图1 HE2E DevOps实践操作流程图 表1 HE2E DevOps实践操作流程说明 步骤 说明 实践准备 完成实践开始前的准备工作,包括创建项目、添加项目成员等操作。 管理项目规划 完成项目的整体规划,包括项目需求规划、迭代需求规划等。 管理项目配置 根据项目需求,对工作项变更的通知方式、工作项状态的流转方式等进行自定义设置。 开发代码 通过分支来进行代码的编写,包括创建分支、代码提交、合并分支等操作。 检查代码 对代码进行静态扫描,根据修复建议优化代码,提高代码质量。 构建应用 构建环境镜像、将代码编译打包成软件包。 部署应用 将构建好的环境镜像及软件包安装并运行在环境中,本文档提供两种环境的部署方法:CCE与ECS。 管理项目测试 为迭代创建测试计划、设计测试用例,并按照计划执行测试用例。 配置流水线 将代码检查、构建、部署等任务串联成流水线。当代码有更新时,可自动触发流水线,实现持续交付。 释放资源 实践完成,释放CodeArts、CCE等资源。 父主题: 华为端到端(HE2E)DevOps实践
  • 修订记录 发布日期 修订记录 2023-06-12 第十次正式发布。 部署服务修改环境配置,增加主机器群管理。 2023-02-25 第九次正式发布。 代码托管更新UI。 部署增加环境配置。 2023-02-16 第八次正式发布。 CloudIDE服务更名为CodeArts IDE Online。 代码检查、流水线上线新版UI。 2022-12-07 第七次正式发布。 软件开发平台更名为软件开发生产线。 项目管理服务更名为需求管理。 2022-08-11 第六次正式发布。 根据产品新UI布局更新截图。 2022-06-30 第五次正式发布。 在“部署应用(云容器引擎)”章节中,根据CCE服务新UI更新“购买并配置CCE环境”说明。 在“释放资源”章节中,根据CCE服务新UI更新“删除集群”说明。 2022-06-10 第四次正式发布。 在“实践准备工作”章节中,增加“开通软件开发生产线”说明。 2021-10-10 第三次正式发布。 在“构建应用”章节中增加“配置基础依赖镜像”说明。 在“部署应用(云容器引擎)”章节中增加“调整yaml文件配置”说明。 2021-03-09 第二次正式发布。 在附录中增加“构建加速”说明。 2020-10-21 第一次正式发布。 父主题: 华为端到端(HE2E)DevOps实践