优势三:沟通更加有效
有了持续集成,频繁部署也不是什么难事了。频繁部署的价值在于,你的客户可以快速的享用软件的新功能,并能快速的提出反馈。这将有利于清除客户和开发之间的障碍——我认为这是软件开发最大的障碍。
三、持续集成所需工具
按照前面的描述,持续集成过程中需要做的四件事情,相应地我们需要这样四种工具。
1、频繁集成(开发、测试check in)
配置管理工具:SVN, CVS等;
2、代码构建的任务调度
任务调度工具,如:kelude, toast, hudson, CruiseControl等
3、自动编译、测试(从配置库拷贝代码进行编译、测试)
根据构建代码的差异性,不同代码有不同的构建工具,如:maven,ant,mocha,makefile,shell等
4、结果反馈(解析并反馈测试结果),这边需要做两件事:
a、结果解析,这个大部分都由任务调度工具支持,有些平台像hudson采用插件的形式提供支持
b、邮箱,用来反馈测试结果
四、持续集成发展
发展方向:集成多维度测试方式,提供代码质量评估的多维度度量,与测试技术的发展密不可分
代码质量评估维度参考:
1、覆盖率(clover, cobertura, emma, tcc, etc.)
2、静态检查(checkstyle, findbugs)
3、函数深度 (sourceMonitor)
4、圈复杂度(javaNCss)
5、安全漏洞(安全漏洞扫描工具)
6、……