软件开发周期如下:
1.需求分析
2.设计
3.实现(编码)
4.测试
5.进化
软件敏捷开发
敏捷开发的核心是迭代开发和增量开发
迭代开发:把大目标拆分小目标,开发过程拆分成多个小周期
增量开发:功能来划分迭代开发。
好处:早期缴费,降低风险。
有了持续集成就有敏捷开发。
持续集成(Continuous integration , 简称 CI)
持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。
持续集成的流程:
提交(git提交代码)
测试(第一轮) (自动化工具)代码仓库对commit操作配置了钩子(hook),只要提交代码或者合并进主干,就会跑自动化测试。
构建 (build)
测试 (第二轮 ke)
部署 (tar docker)
回滚(上一个版本)
持续集成的组成要素
一个自动构建过程, 从检出代码、 编译构建、 运行测试、 结果记录、 测试统计等都是自动完成
的, 无需人工干预。
一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,一般
使用SVN或Git。
一个持续集成服务器, Jenkins 就是一个配置简单和使用方便的持续集成服务器。
持续集成的好处
1、降低风险,由于持续集成不断去构建,编译和测试,可以很早期发现问题,所以修复的代价就少;
2、对系统健康持续检查,减少发布风险带来的问题;
3、减少重复性工作;
4、持续部署,提供可部署单元包;
5、持续交付可供使用的版本;
6、增强团队信心;
Jenkins介绍 https://www.jenkins.io/
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动
化构建、测试和部署等功能
持续集成服务器 :Jenkins-2.190.3,JDK1.8,Maven3.6.2,Git,SonarQube
应用测试服务:jDK1.8 tomcat8,5