一 持续集成基础

持续集成,就其最简单的形势来讲,就是一个能监控你版本控制系统变化的工具。无论任何时候,只要检测到有变化,这个工具就会自动编译和测试你的应用程序。如果出现问题,他就会马上通知开发人员,以便他们可以立即着手解决这个问题。


1)继续集成能帮你密切加你是代码库的健康,自动监控代码质量和代码覆盖率程度,还能帮助你降低技术债务和减少维护成本;也可以作为一种沟通工具,清晰地发布和展现总体开发工作的当前状态;通过构建自动化部署过程,持续集成能大大简化和加速你的交付过程,自动化和一键部署应用程序的最新版本。

2)从本质上来讲,持续集成是通过提供更快的反馈来降低风险的。首先,它被设计成用来更快地识别和修复集成以及回归相关的问题,目的是更平滑、更快的交付和更少的bug。通过把部署过程自动化 ,持续集成可以帮助你更快、更可靠、更轻松地把软件交付到测试人员和最终用户的手上。

3)自动化的部署的想法设计师很重要的。理论上讲自动化部署的过程可以使你能够推送每一个带有必要的自动化测试的构件到生产当中去。 这种直接自动化部署每个成功的构件到生产当中的实践,就是所谓的持续不熟。

4)持续集成技术,特别是持续不熟和持续交付,就是为了更快地给最终用户提供价值。



二 Jenkins简介

Jenkins,最开始被称作Hudson,是一个Java语言编写的开源持续集成工具。Jenkins在持续集成领域的市场份额居于主导地位,其被用于各种规模的团队用于各种语言和技术的项目中,比如.NET、Ruby、Groovy、Grails、PHP等。当然还有Java。



1)Jenkins是易于使用的。用户界面非常简单、直观,增加了视觉上的吸引力,而且Jenkins作为一个整体,具有平滑的学习曲线。

2)Jenkins拥有良好的扩展性,能有极其灵活和方便地迎合你的想法。它拥有数以百计的开源插件可供使用,而且每周会有更多的开源插件贡献出来。

3)Jenkins之所以受大众喜欢,得益于其开源社区的规模和活跃度。

4)Jenkins也满足那些不想每周都进行产品升级的用户的需求。它提供了一个长期支持的版本LTS,这个版本落后于最新发布的新版本,却提供更加稳定的功能和较慢的更新变化。LTS版本是每三个月发布一次新版本。