Jenkins入门系列之——01第一章 Jenkins是什么?
说明:Jenkins折腾了好几个月了,打算写个系列记录下。有时间会尽量更新的。
第一章 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 插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。
1 Jenkins的由来
目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。并且能够帮助您的开发团队应对如下挑战:
- l 软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,对目标软件进行构建。
- l 构建可持续的自动化检查 :CI系统能持续地获取新增或修改后签入的源代码,也就是说,当软件开发团队需要周期性的检查新增或修改后的代码时,CI系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力(说直接一点也是钱啊,呵呵)。
- l 构建可持续的自动化测试 :构建检查的扩展部分,构建后执行预先制定的一套测试规则,完成后触发通知(Email,RSS等等)给相关的当事人。
- l 生成后后续过程的自动化 :当自动化检查和测试成功完成,软件构建的周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。
部署一个CI系统需要的最低要求是,一个可获取的源代码的仓库,一个包含构建脚本的项目。
下图概括了CI系统的基本结构:
该系统的各个组成部分是按如下顺序来发挥作用的:
1. 开发者检入代码到源代码仓库。
2. CI系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区。
3. CI系统会在对应的工作区内执行构建过程。
4. (配置如果存在)构建完成后,CI系统会在一个新的构件中执行定义的一套测试。完成后触发通知(Email,RSS等等)给相关的当事人。
5. (配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像Java.net、 SourceForge之类的网站。
6. CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,或者检索一些构建好的构件。
Jenkins就是这么一个CI系统。之前叫做Hudson。
以下是使用Jenkins的一些理由:
- l 是所有CI产品中在安装和配置上最简单的。
- l 基于Web访问,用户界面非常友好、直观和灵活,在许多情况下,还提供了AJAX的即时反馈。
- l Jenkins是基于Java开发的(如果你是一个Java开发人员,这是非常有用的),但它不仅限于构建基于Java的软件。
- l Jenkins拥有大量的插件。这些插件极大的扩展了Jenkins的功能;它们都是开源的,而且它们可以直接通过web界面来进行安装与管理。
1.1 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的结果构件都被很好的自动管理,无需任何配置就可以方便的浏览下载。
转:http://www.cnblogs.com/zz0412/tag/jenkins/
- 本文已收录于以下专栏:

相关文章推荐
-
Jenkins入门系列之——02第二章 Jenkins安装与配置
写的我想吐血,累死了。网页看着不爽的,自己去下载PDF。有问题请留言!Jenkins入门系列之——03PDF文档下载第二章 Jenkins安装与配置2 Jenkins安装在...- wangmuming
- 2014年04月04日 11:57
- 325715
-
使用Jenkins配置自动化构建
持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了。为了实现这个要求,我选择了Jenkins。从http://mirrors.jenkins-ci.org/win...- littlechang
- 2013年03月06日 14:11
- 350490
-
惊呆了!微博和阿里背后的数据库有多厉害?
想不到!数据库作为最关键的基础设施,渗透技术领域的方方面面,我阿里和微博的师哥们是这么分享的...


-
Jenkins进阶系列之——14配置Jenkins用户和权限
今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置。配置用户注册 在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global...- wangmuming
- 2014年04月04日 12:18
- 92649
-
Jenkins
Jenkinsjenkins 一个持续集成和交付的服务器。Docker安装这里使用docker镜像的方式安装,如果不懂docker 请移步[docker.io]。下载如果比较慢请使用国内镜像库。do...- pretent
- 2017年01月02日 13:52
- 1004
-
Jenkins 持续集成综合实战
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。本文以 CentOS7 环境为例,总结了 Jenkin...- kefengwang
- 2017年01月08日 13:59
- 3785
-
Jenkins(二)
官网:https://wiki.jenkins-ci.org/display/JENKINS/Meet+Jenkins我的这篇文章仅仅是简单的根据上文,介绍Jenkins提供了哪些功能。具体大家还...- OnlyQi
- 2011年12月16日 16:27
- 90403
-
Jenkins入门系列--Jenkins安装与配置
第二章 Jenkins安装与配置Jenkins安装在最简单的情况下,Jenkins 只需要两个步骤:1.下载最新的版本(一个 WAR 文件)。Jenkins官方网址: http://Jen...- mlc1218559742
- 2016年07月20日 20:14
- 5168
-
Jenkins 入门教程之--Jenkins安装
Jenkins 教程 Jenkins是一个强大的应用程序,允许持续集成和持续交付的项目,无论你正在工作的平台。它是一个可以处理任何类型的构建或持续集成的自由源。您可以将Jenkins与许多测试和部...- wh211212
- 2016年12月05日 20:38
- 2069
-
Jenkins2.27 实战部署
Jenkins2.27安装部署。安装maven插件。安装svn插件。同Sonar进行集成。- tornadojava
- 2016年12月07日 11:31
- 1486
-
构建基于Jenkins + Github的持续集成环境
搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路。持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集...- John_cdy
- 2012年07月11日 23:33
- 93240
-
Jenkins全流程搭建
第 1 章 概 述 持续集成(CI)是一种实践,旨在缓和和稳固软件的构建过程。持续集成最早由Martin Fowler 于10年前已经提出,希望通过持续集成能够实现以下过程:Ø 任何人在任何地点...- lianghailun
- 2017年06月02日 17:56
- 1199
-
Delphi7高级应用开发随书源码
- 2003年04月30日 00:00
- 676KB
- 下载

-
Jenkins + Git + Maven + tomcat集成环境(Jenkins 安装)
Linux(Ubuntu16.04)下安装Jenkins- chao1983210400
- 2017年04月30日 18:29
- 1197
-
python文件绝对路径写法(windows)
最近在windows系统上用python做自动化打包的脚本,遇到了文件路径的问题,在这里扒拉了一些资料,总算是搞清楚,分享给大家问题的根本:windows读取文件可以用\,但在...- jusulysunbeamy
- 2016年05月01日 12:43
- 20113
-
命令安装jenkins(也叫启动jenkins)
1、废话来句,刚才安装的时候,文档都要写完了,结果这csdn给我卡死,害我又重新来一次,也不给我缓存。2、进入正题,先去网上下载jenkins.war,进入cmd,3、输入命令java -jar ...- qq_15055139
- 2017年02月21日 18:25
- 1492
-
Jenkins(三)
在使用Jenkins的过程中,当然也会遇到一些问题。在这里我把我遇到的,比较奇怪的问题列出来,供大家参考。环境变量我在一个slave node上运行job时发现,被启动的程序显示找不到...- OnlyQi
- 2012年03月10日 18:02
- 11924
-
windows下jenkins搭建
在windows系统上搭建jenkins持续集成有两种方法: 1、war文件,可以用tomcat或者java命令直接运行 2、msi安装,作为系统服务后台运行 前提:安装并配置java环境war...- huashao0602
- 2017年06月09日 09:47
- 646
-
持续集成 之 Jenkins
持续集成 之 Jenkins- benkaoya
- 2015年09月23日 17:45
- 45843
-
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本
持续集成之⑤:jenkins结合脚本实现代码自动化部署及一键回滚至上一版本一:本文通过jenkins调用shell脚本的的方式完成从Git服务器获取代码、打包、部署到web服务器、将web服务器从...- workdsz
- 2017年09月12日 17:40
- 743
-
基于Jenkins-2.46.3进行持续集成
1. 持续集成概述持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动...- windpenguin
- 2017年06月14日 00:49
- 1005