Jenkins 01——简介

Jenkins是一个开源软件项目,一个可扩展的持续集成引擎。旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

持续集成是一种开发实践,需要开发人员定期将代码集成到共享存储库中。这个概念意在消除在构建生命周期中发现问题的问题。持续集成需要开发人员频繁构建。通常的做法是,每当代码提交发生时,应该触发构建。

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

主要用于:持续、自动地构建/测试软件项目; 监控一些定时执行的任务。

主要功能:将项目中重复执行的工作自动化的执行。

  1. 软件的持续构建和测试。Jenkins提供了一个系统,使开发人员可以很容易的将改变集成到工程中。自动化的,持续的构建有利于提高开发效率。

  2. 监视job的执行。job可以实现很多的功能,Jenkins可以对这些项目进行显示,让用户更清楚的注意到这些 损毁的job。

  3. 项目源代码修改的检测。jenkins能够从项目的Subversion/CVS生成最近修改的集合列表,且不会增加Subversion/CVS Repository的负载。

  4. 分布式构建。Jenkins可以将工程构建到多台机器,更好地利用硬件资源,节省时间。

Jenkins代码开源,用户可以自己编写插件。所以jenkins可以实现很多的功能。

 

Jenkins拥有的特性包括:

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

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

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

  4. 生成JUnit/TestNG测试报告。

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

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

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

 

CI系统在整个开发过程中的主要作用是控制:当系统在代码存储库中探测到修改时,

它将运行构建的任务委托给构建过程本身。如果构建失败了,那么CI系统将通知相关人员,

然后继续监视存储库。它的角色看起来是被动的;但它确能快速反映问题。

特别是它具有以下优点:

  Jenkins一切配置都可以在web界面上完成。有些配置如MAVEN_HOME和Email,只需要配置一次,所有的项目就都能用。

当然也可以通过修改XML进行配置。

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

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

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

posted @ 2017-05-26 16:54  yancy.lu  阅读(226)  评论(0编辑  收藏  举报