利用华为云进行敏捷开发实验

举报
yd_253874998 发表于 2023/11/15 14:49:41 2023/11/15
【摘要】 一.实验简介现代的软件工程中,敏捷让开发团队拥抱变化、快速迭代,DevOps 则覆盖全流程,加入了运维环节,用于促进开发、运维和质量保障部门之间的沟通、协作与整合,实现工程效率最大化。本实验手册基于一个模拟案例项目【凤凰商城】,所有故事及操作均以此模拟案例项目为背景。通过还原软件开发不同阶段的场景,让读者置身软件项目开发中,并利用华为云DevCloud 的便捷工具使读者能快速掌握用敏捷的方法...


一.实验简介

现代的软件工程中,敏捷让开发团队拥抱变化、快速迭代,DevOps 则覆盖全流程,加入了运维环节,用于促进开发、运维和质量保障部门之间的沟通、协作与整合,实现工程效率最大化。本实验手册基于一个模拟案例项目【凤凰商城】,所有故事及操作均以此模拟案例项目为背景。通过还原软件开发不同阶段的场景,让读者置身软件项目开发中,并利用华为云DevCloud 的便捷工具使读者能快速掌握用敏捷的方法和 DevOps 思想完成软件项目的代规划、以及软件的开发、测试、部署。

本实验手册共包含 4 个实验。

实验一为持续规划与设计实验,通过使用 DevCloud 进行项目规划,掌握产品待办列表管理,管理迭代计划和开发进度,使用看板模式进行项目展示及管理。

实验二为持续开发与集成实验,通过使用 DevCloud 提供的 Git 代码托管服务进行源代码管理,并对用户故事【门店网络】、【账户登录】进行开发,以及使用功能分支的方式进行代码的开发合并。掌握代码托管服务代码管理,和配置分支策略。在代码开发完成后,使用 DevCloud 代码检查服务对源代码进行检查,从而保证代码开发的质量。然后通过创建"编译构建任务",完成应用的 Docker 镜像打包以及推送。启动持续集成,实现代码变更后自动触发应用的 Docker 镜像打包以及推送。使用华为云提供的"开源镜像站"服务提高依赖包获取速度,提高自动化编译效率。

实验三为持续测试与反馈实验,通过使用 DevCloud 来管理项目的测试生命周期,掌握测试用例的编写和配置,管理套件测试规划,执行手工测试用例,并使用测试总览跟踪测试进度和质量。

     实验四为持续部署与发布实验,通过使用 DevCloud 部署服务,将软件项目的发布包一键式部署到服务器主机上,从而让应用落地运行。同时利用 DevCloud 流水线服务,完成应用程序持续交付流水线的搭建。

二.实验具体内容

2.1 持续规划与设计 

2.1.1 使用 Scrum 项目模板进行项目规划,并管理 Epic Feature

Epic通常是公司重要战略举措。Epic的粒度比较大,需要分解为Feature,并通过Feature继续分解细化为User Story来完成最终的开发和交付。Feature

通常是对用户有价值的功能,相比EpicFeature更具体形象,客户可以直接感知,通常在产品发布时作为ReleaseNotes的一部分发布给客户。通常持续数个星期(weeks),需要多个迭代完成交付。 Story是从用户角度对产品需求的详细描述,更小粒度的功能。Story承接Feature,并放入有优先级的backlog中,持续规划、滚动调整优先级,始终让高优先级的Story更早的交付给客户。可以将项目规划导出到 Excel,以条目化的方式查看以及管理。


2.1.2 使用 Scrum 项目模板管理 Backlog 并进行迭代开发

在每日站立会议中,可以通过电子白板报告和更新任务进度。在迭代页面单击右上角图标,可切换视图为"成员模式"。通过成员模式视图可以看到当前团队每个成员的工作饱和度以及每个需求预估的完成时间点。


2.1.3 使用效率工具监测和跟踪项目状态

使用效率工具监测和跟踪项目状态


2.2 项目管理配置

学习如何对 "凤凰商城" 进行基本信息等维护,以及团队成员管理,并学习如何通过定制站内消息通知以及邮件通知来跟进项目进度。使用"自定义工作项模版"功能来定制个性化的工作项表单,以及工作流程定制。

学习项目管理与定制项目工作流程,将项目配置的更接近自己真实的场景及应用方式。


 

2.2 持续开发与集成

了解如何使用 DevCloud 提供的代码托管服务进行源代码管理,并对 Story“作为用户应该可以查看、查询所有门店网络进行开发,以及如何使用功能分支的方式进行代码的开发合并。

2.2.1使用CloudIDE修改和提交代码

修改代码。等待CloudIDE加载完毕后,在左侧导航中找到前端界面代码文件"/vote/templates/index.html"并打开,在179行添加菜单"门店网络"。


查看代码提交记录。返回"代码托管"页面,在 phoenix-sample 代码仓库中选择"历史"页签,即可查看是否提交成功。页面如图所示。


可以执行登录功能, 以张三身份登录

 

2.2.2使用 Git 分支+合并请求方式提交代码并进行代码检视

master 分支设置为受保护分支。

 

然后建立新的分支。代码托管服务提供了诸如仓库统计、IP白名单、子模块设置、webhook设置、通知设置等功能,能够满足更多的使用场景。

2.2.3 代码检查确保编码规范

创建代码检查任务,并执行代码检查任务,完成应用的静态代码检查。


分析代码检查结果并修复问题, 创建自定义检查规范, 然后启用自定义检查规范。

 

2.2.3 用自动化编译提高代码质量验证速度

创建 "编译构建任务",完成应用的 Docker 镜像打包以及推送。何启动持续集成,实现代码变更后自动触发应用的 Docker 镜像打包以及推送。使用华为云提供的"开源镜像站"服务提高依赖包获取速度,提高自动化编译效率。


2.2.4 配置持续集成并通过提交代码触发自动化编译

配置持续集成并通过提交代码触发自动化编译,实现代码变更后自动触发应用的 Docker 镜像打包以及推送。


2.2.5 使用开源镜像站服务改进自动化编译

使用开源镜像站服务提高依赖包获取速度,提高自动化编译效率


2.3 持续测试与反馈

在前面的练习中我们已经完成了凤凰商城"迭代4"的需求规划,此时测试人员可以同步的进行测试用例的编写,这样测试人员在迭代之初就可以进行软件测试工作。在本实验中,您将学习如何使用 DevCloud 来管理项目的测试生命周期。本实验将指导您创建有效设计的测试套件,以验证您的软件里程碑。这些测试套件可以在每次发布时重复执行。

2.3.1 使用追溯视图进行需求驱动的测试


 

创建用户账号登录测试脚本


生成测试结果如图所示


2.3.2 使用测试套件进行迭代测试规划

DevCloud 允许团队将多个测试用例组织到测试套件中。测试套件用于跟踪迭代或里程碑中的测试用例,通过测试套件您可以看到特定迭代或里程碑的测试何时完成。接下来让我们把迭代4的测试用例添加到新的测试套件中。


2.3.3 使用测试总览跟踪测试进度和质量

可查看此迭代的需求覆盖率、缺陷、用例通过率等相关统计。


 

2.4 持续部署与发布

2.4.1 购买并配置弹性云服务器

购买并配置弹性云服务器


2.7.2 使用 DevCloud 部署服务配置主机环境

部署(CloudDeploy)提供可视化、一键式部署服务,支持并行部署和流水线无缝集成,支持脚本部署,容器部署等部署类型,支持javanode.jspython等多种技术栈,实现部署环境标准化和部署过程自动化。

凤凰商城软件要部署到前一节购买的ECS服务器主机上,需要配置主机环境,安装凤凰商城运行所需的软件。本节将为ECS云主机安装Docker以及Docker-Compose

2.4.2 使用自动化部署实现一键部署

使用部署服务结合弹性云服务器 ECS,完成应用的自动化部署。


2.4.3 持续交付流水线

在本实验中,您将学习如何创建"流水线"任务,完成应用程序持续交付流水线的搭建如何创建实现代码变更自动触发持续交付流水线任务,完成应用的自动化测试以及部署在"流水线"中添加"人工审核"功能


辑门禁模板后, 执行结果如下


为了控制代码的质量,要求代码必须经过扫描,并且错误数量控制在合理范围内,才允许发布。通过添加质量门禁可以有效的自动化控制流程。

创建实现代码变更自动触发持续交付流水线任务,完成应用的自动化构建部署。

2.4.2 资源释放

为了避免不必要的费用,如果您在项目课程实践完成后,无需再使用这些资源,建议您参考以下操作释放弹性云服务器资源。


三.实验总结

在本次实验中,通过对华为凤凰商城的敏捷开发实验,我对敏捷开发的全套流程有了更加深入的认识。并且我也更加了解到了在实际工业环境下的软件开发的具体流程。比如在学校的实验中,我们通常不需要租借服务器或者配置服务器,但是在真正的工业开发流程中,我们则需要去配置或者租借服务器来满足对软件的需求;再比如在平时的实验中,我们对代码的测试往往是不具有统一性和规范性的,也就是说,我们日常对代码的测试往往可能是很局部的,但是本次实验中的代码测试方法,是规范化的并且全面的,这样能更好的测试代码以及发现其中的问题。总之,本次实验让我对在实际生产中的软件环境以及流程有了更加深入的理解。

同时,本次实验还让我对敏捷开发方法有了更加深入的理解。让我更加了解了敏捷开发方法在实际应用中的优点以及好处,让我对其有了更加深入的认识。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。