利用Hudson构建c/c++持续集成
Hudson: 可扩展的持续集成(CI)引擎
主要用于:
1.持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。
2.监控一些定时执行的任务。
Hudson拥有的特性包括:
易于安装-只要把hudson.war部署到servlet容器,不需要数据库支持。
易于配置-所有配置都是通过其提供的web界面实现。
集成RSS/E-mail/IM-通过RSS发布构建结果或当构建失败时通过e-mail实时通知。
生成JUnit/TestNG测试报告。
分布式构建支持-Hudson能够让多台计算机一起构建/测试。
文件识别- Hudson能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
插件支持-Hudson可以通过插件扩展,你可以开发适合自己团队使用的工具。
Hudson:https://hudson.dev.java.net/
hudson + cppcheck + google unit Test + Gcov/Lcov: CI+静态代码检查+单元测试+覆盖率分析报告
操作过程:
1. 安装Hudson:运行Hudson可直接执行 java -jar hudson.war 也可以将其部署到Tomcat等容器内。操作方式网上教程较多,在此不再累述,关键词: war tomcat。
运行后默认端口是 8080 ,我在本地运行所以打开 http://localhost:8080/ 。
2. 安装Hudson的cppcheck Plugin。按顺序点击 左侧的 Manage Hudson >> 右侧的 Manage Plugins >> Available 找到 Hudosn cppcheck plugin >> 按最下面的 install 。
3. 安装后需要重启Hudson服务
4. 新建项目(New Job)
5. 在项目中加入自定义的build command(execute shell): make + cppcheck + google unit test + gcov/lcov
6. 在Post-build Actions中选中Publish JUnit test result report和Publish Cppcheck results, 同时填写对应的xml文件
Notes: 在Job中的Description可以加入html格式的内容, 可用于发布gcov/lcov的coverage html report.
cppcheck的使用: http://www.cppblog.com/darkdestiny/archive/2009/08/24/94249.html