CruiseControl与持续集成:每日与每小时构建实践
139 浏览量
更新于2024-08-29
收藏 299KB PDF 举报
在火龙果软件工程技术中心的日常开发实践中,持续集成是一种关键的软件开发实践,通过自动化工具来频繁地整合代码、构建、测试和部署。在这个环境中,他们主要使用了CruiseControl (cc) 这个强大的持续集成工具,它能够实现每小时(每3600秒)进行一次构建。
CruiseControl (2.7.1 版本) 的配置文件(config.xml)是整个流程的核心,项目名称设为 "sanitation"。配置中定义了几个关键组件:
1. **监听器(Listeners)**:
- `currentbuildstatuslistenerfile` 用于记录当前构建的状态,将状态更新保存到 `logs/sanitation/status.txt` 文件中,这样团队成员可以随时查看构建进度。
2. **启动器(Bootstrappers)**:
- `svnbootstrapper` 被用来与 Subversion 版本控制器集成,确保每次构建时都是基于最新代码库的工作拷贝 (`projects/sanitation`).
3. **修改集(ModificationSet Quiet Period)**:
- 设置了一个 30 秒的静默期,允许CruiseControl 在接收到多个提交后一次性处理,减少不必要的频繁构建。
4. **构建计划(Schedule Interval)**:
- 每隔一小时 (`3600秒`) 进行一次构建,使用 Ant 构建工具,指定构建脚本 `build.xml` 存在于 `projects/sanitation` 目录下,Apache Ant 1.7.0 版本被作为构建环境的基础。
5. **日志管理(Logging)**:
- 将测试结果合并到 `projects/sanitation/target/test-results` 目录下,便于后续分析。
6. **发布策略(Publishers)**:
- 当构建成功时,会自动发布产物,将 `sanitation.jar` 文件存放在 `artifacts/sanitation` 目录。
- 邮件通知功能也已启用,邮件发送配置包括邮件主机、返回地址、构建结果URL、邮件发送对象(总是地址和失败时地址)等,以及当构建出错时是否发送垃圾邮件的选项。
这个配置实现了定时、自动化的代码集成、构建和测试过程,有助于提高开发效率、减少错误,并且及时反馈构建结果给团队成员,从而支持高效的软件开发和迭代。CruiseControl 的使用对于保持代码质量、缩短反馈周期以及促进敏捷开发实践至关重要。
2021-03-03 上传
2021-07-02 上传
2021-06-28 上传
2012-06-18 上传
2021-10-25 上传
2021-03-25 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38643212
- 粉丝: 3
- 资源: 931
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析