天天看点

Jenkins

Jenkins 是一个可扩展的持续集成引擎。

主要用于:

l 持续、自动地构建/测试软件项目。

l 监控一些定时执行的任务。

Jenkins拥有的特性包括:

l 易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。

l 易于配置-所有配置都是通过其提供的web界面实现。

l 集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。

l 生成JUnit/TestNG测试报告。

l 分布式构建支持Jenkins能够让多台计算机一起构建/测试。

l 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

l 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

部署一个CI系统需要的最低要求是,一个可获取的源代码的仓库,一个包含构建脚本的项目。

下图概括了CI系统的基本结构:

Jenkins

Jenkins的主要目标是监控软件开发流程,快速显示问题。所以能保证开发人员以及相关人员省时省力提高开发效率。

CI系统在整个开发过程中的主要作用是控制:当系统在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么CI系统将通知相关人员,然后继续监视存储库。它的角色看起来是被动的;但它确能快速反映问题。

特别是它具有以下优点:

l Jenkins一切配置都可以在web界面上完成。有些配置如MAVEN_HOME和Email,只需要配置一次,所有的项目就都能用。当然也可以通过修改XML进行配置。

l 支持Maven的模块(Module),Jenkins对Maven做了优化,因此它能自动识别Module,每个Module可以配置成一个job。相当灵活。

l 测试报告聚合,所有模块的测试报告都被聚合在一起,结果一目了然,使用其他CI,这几乎是件不可能完成的任务。

l 构件指纹(artifact fingerprint),每次build的结果构件都被很好的自动管理,无需任何配置就可以方便的浏览下载。

本文转自 蔡小赵 51CTO博客,原文链接:http://blog.51cto.com/zhaopeiyan/1958280