前言
本文参考
旨在通过案例项目,熟悉敏捷开发的流程。
敏捷开发2周为一个迭代,每个迭代交付一定的功能。是区别于传统瀑布流交付的灵活的开发流程。
过去开发流程:用户提需求,程序员开发,6个月后开发完毕,程序员交付,用户说,这不是我想要的软件。这是瀑布流的缺点。
敏捷开发流程:用户提需求,项目经理做好规划,确定每个迭代需要向用户交付什么内容,用户如果对需求有其他要求也可以及时提出,更加灵活,而且用户每隔一段时间都能看到软件的开发进度。
敏捷开发分为以下6个步骤:
1. 规划与设计
2. 开发与检查
3. 测试与反馈
4. 编译与构建
5. 自动化部署
6. 交付流水线
华为云凤凰商城案例
华为云DevCloud敏捷开发流水线图
凤凰商城软件架构
凤凰商城上线故事
一、持续规划与设计
背景:
- 通过前期开发,已完成凤凰商城1.0版本的开发。
- 刚刚接到业务部门的通知,要求月底前必须上线【门店网络查询功能】,可以在凤凰商城中查询各个门店的相关信息。
任务:
规划与设计
1. 添加功能需求工作项
2. 待办列表管理
3. 管理迭代计划,掌握开发进度
4. 使用看板模式进行项目展示及管理
1. 新建项目
2. 规划
战略=>用户需要的功能=>(工作项)从用户角度描述需求(有优先级)=> 分解成开发任务,指派给具体成员
3. 建立工作项
工作项视图如下
从用户角度描述需求,用户故事详细信息
4. 建立迭代对部分工作项进行实施
建立一个迭代,确认好哪些工作项要在这个迭代实施。
将对应工作项拖入迭代中。
5. 迭代看板-跟踪迭代进展
迭代看板对迭代任务进行宏观监控,管理。
6. 仪表盘-跟踪项目进展
二、持续开发与集成
代码托管是将团队的代码放在git仓库中,团队成员在修改代码后进行提交,发起合并到dev分支的请求,在经过评审人评审代码后确认是否可以合入dev分支。
代码检查对代码质量进行扫描。提供修改建议。
三、持续测试与反馈
在前面的步骤中,我们完成了迭代4的需求规划,此时测试人员可以同步的进行测试用例编写,这样测试人员在迭代之初就可以进行软件测试工作。
步骤:
- 编写和配置测试用例并使用管理套件进行测试规划。
- 执行测试用例并反馈测试结果。
- 使用测试总览跟踪测试进度和质量。
编写测试用例
新建测试套件对应着一个迭代的测试用例
测试质量报告
四、持续部署与发布
代码编写=>编译构建=>部署
编译构建可以得到我们平常的安装包,安装软件。
部署是为了将应用部署到目标主机上。
a.自动化部署
要对应用进行部署,首先要有个目标主机,
可以到华为云购买一台EXS弹性云服务器。
b.交付流水线
前面以及成功部署了增加‘门店网络’ 功能的凤凰商城软件项目。后续如果还有新的功能需求迭代,是不是还需要重复同样的工作?DevOps有一个特点是’自动化一切可自动化的’,那么我们是不是可以把之前一系列工作自动化。
答案:
DevCloud有一个流水线功能,提供可视化、可定制的持续交付流水线服务,实现缩短交付周期和提升交付质量的效果。我们可以通过代码变更自动出发持续交付流水线任务。
完成应用的自动化测试、构件及部署。
新建流水线任务
设置流水线
设置质量门禁(代码检查出的问题数)
释放云服务器资源****
不用了删除掉防止持续收费