持续集成(Continue Integration)简称CI 它是敏捷开发中的重要活动,它反映了所开发的软件每时每刻的健康状态。
持续集成要素
1.统一的代码库
2.自动构建
3.自动测试
4.每个人每天都要向代码库主干提交代码
5.每次代码递交后都会在持续集成服务器上触发一次构建
6.保证快速构建
7.模拟生产环境的自动测试
8.每个人都可以很容易的获取最新可执行的
应用程序
9.每个人都清楚正在发生的状况
10.自动化的部署
业界对持续集成原则如下:
2. 开发人员每天至少向
版本控制库中提交一次代码。
4. 需要有专门的集成服务器来执行集成构建,每天要执行多次构建。
5. 每次构建都要100%通过。
6. 每次构建都可以生成可发布的产品。
7. 修复失败的构建是优先级最高的事情。
鉴于我们项目的实情现做以下要求:
1、每天早上 在CI构建正常情况下更新Smartvision目录下的所有代码,即可增量开发,如果发现CI失败先不做更新,等待CI正常再做更新!
2、开发人员每天至少向版本控制库中提交一次代码,一般情况下是3-5次(不做要求视个人情况而定)
3、一次编写的代码最好原子提交(方便回滚&CI构建时代码的完整性),如果代码实在太多,采用eclipse的svn插件慢 也最好将两次提交的时间间隔控制在30秒内
4、CI监控图标颜色规则和交通信号灯一样 绿色代表可以提交代码 黄色代表等待提交 红色代表请勿提交
5、每次提交构建都要保证100%通过,如果要提交的代码被UT覆盖 那么就要先走本地构建(在Smartvion目录下执行mvn install 此处千万不要跳过测试 )成功后方可提交
6、修复失败的构建是优先级最高的事情,所以发现自己提交的代码导致CI构建失败,要及时找出原因并及时修正
7、由于我们项目是采用maven构建管理所以当需要增加 pom,war ,jar等构件时需向 张boss提申请 并告知CMO 由CMO完成
终极目标
配置库取最新代码---》 编译构建打包---》 数据库脚本安装打包 ---》 发布包 自动安装发布包 产品环境