您的位置:首页 > 其它

Jenkins入门系列之——01第一章 Jenkins是什么?

2017-12-20 10:07 344 查看
CSDN新首页上线啦,邀请你来立即体验!

旧版

立即体验

博客

学院
下载
GitChat
更多

论坛
问答
活动
码云
商城
ITeye
极客头条



写博客

发布Chat

登录注册

hopeping128

我的博客
消息(99)
设置
反馈
帮助
退出

Jenkins入门系列之——01第一章 Jenkins是什么?

转载 2014年04月04日 11:54:46

标签:
jenkins CI 持续集成
/
115036

编辑

删除


说明: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/

阅读全文

本文已收录于以下专栏:





发表评论 HTML/XML objective-c Delphi Ruby PHP C# C++ JavaScript Visual Basic Python Java CSS SQL 其它

dtttyc

5天前 18:49 9楼
非常感觉博主
回复


hupengfei_shenyang

2017-12-11 11:22 8楼
谢谢您的分享
回复


zmh458

2017-12-09 20:29 7楼
谢谢您的分享,学习了
回复
查看 9 条热评

相关文章推荐

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
');
(window.slotbydup=window.slotbydup || []).push({
id: '4765209',
container: s,
size: '808,120',
display: 'inlay-fix'
});
})();<script charset="utf-8" src="http://pos.baidu.com/bcxm?di=4765209&dri=0&dis=0&dai=0&ps=2893x171&enu=encoding&dcb=___adblockplus&dtm=SSP_JSONP&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1513734876571&ti=Jenkins%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97%E4%B9%8B%E2%80%94%E2%80%9401%E7%AC%AC%E4%B8%80%E7%AB%A0%20Jenkins%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20-%20CSDN%E5%8D%9A%E5%AE%A2&ari=2&dbv=2&drs=1&pcs=1583x745&pss=1583x2915&cfv=0&cpl=4&chi=1&cce=true&cec=UTF-8&tlm=1513734876&rw=745&ltu=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22924815&ltr=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22925127%2F&ecd=1&uc=1600x860&pis=-1x-1&sr=1600x900&tcn=1513734877"></script>

惊呆了!微博和阿里背后的数据库有多厉害?

想不到!数据库作为最关键的基础设施,渗透技术领域的方方面面,我阿里和微博的师哥们是这么分享的...

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
');
(window.slotbydup=window.slotbydup || []).push({
id: '4983339',
container: s,
size: '808,120',
display: 'inlay-fix'
});
})();<script charset="utf-8" src="http://pos.baidu.com/bcxm?di=4983339&dri=0&dis=0&dai=0&ps=3528x171&enu=encoding&dcb=___adblockplus&dtm=SSP_JSONP&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1513734876571&ti=Jenkins%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97%E4%B9%8B%E2%80%94%E2%80%9401%E7%AC%AC%E4%B8%80%E7%AB%A0%20Jenkins%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20-%20CSDN%E5%8D%9A%E5%AE%A2&ari=2&dbv=2&drs=1&pcs=1583x745&pss=1583x3550&cfv=0&cpl=4&chi=1&cce=true&cec=UTF-8&tlm=1513734876&rw=745&ltu=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22924815&ltr=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22925127%2F&ecd=1&uc=1600x860&pis=-1x-1&sr=1600x900&tcn=1513734877"></script><iframe width="760" frameborder="0" height="90" scrolling="no" src="http://pos.baidu.com/s?hei=90&wid=760&di=u3163359&ltu=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22924815&dc=2&tpr=1513734876709&ps=3528x171&chi=1&cfv=0&cmi=5&ari=2&tcn=1513734877&cpl=4&ti=Jenkins%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97%E4%B9%8B%E2%80%94%E2%80%9401%E7%AC%AC%E4%B8%80%E7%AB%A0%20Jenkins%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20-%20CSDN%E5%8D%9A%E5%AE%A2&pcs=1583x745&cec=UTF-8&dai=1&dis=0&pss=1583x4366&cce=true&tlm=1513734876&pis=-1x-1&cdo=-1&exps=111000&ccd=24&ltr=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22925127%2F&dri=0&col=zh-CN&par=1600x860&ant=0&dtm=HTML_POST&cja=false&psr=1600x900&drs=1"></iframe>

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


wangmm0218

+关注 原创 95 粉丝 634 喜欢 1 码云 0

他的最新文章

更多文章 Java 8 – Convert List to Map(将 List 转换为 Map)
在java中怎样对一个Map进行排序(java 8之前的版本)
Java 8 – 怎样对Map排序
java–流已经启动或关闭
Java – 怎样重新将 ArrayList 重新洗牌(How to shuffle an ArrayList)

相关推荐

Jenkins入门系列之——02第二章 Jenkins安装与配置
使用Jenkins配置自动化构建
Jenkins进阶系列之——14配置Jenkins用户和权限
Jenkins
<iframe width="300" frameborder="0" height="250" scrolling="no" src="//pos.baidu.com/s?hei=250&wid=300&di=u3032528&ltu=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22924815&exps=111000&psr=1600x900&cce=true&dri=0&ant=0&pis=-1x-1&pss=1583x4462&cmi=5&ti=Jenkins%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97%E4%B9%8B%E2%80%94%E2%80%9401%E7%AC%AC%E4%B8%80%E7%AB%A0%20Jenkins%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20-%20CSDN%E5%8D%9A%E5%AE%A2&pcs=1583x745&drs=1&cpl=4&chi=1&dc=2&ltr=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22925127%2F&par=1600x860&dtm=HTML_POST&dis=0&tpr=1513734876709&tlm=1513734876&ari=2&col=zh-CN&dai=2&ps=796x1113&cja=false&cdo=-1&ccd=24&cec=UTF-8&cfv=0&tcn=1513734877"></iframe>

博主专栏



8

redis数据结构和场景设计

7300


14

Ganymed SSH-2 for Java

42485


11

Java 8 Tutorials(新特性)

14635
展开 ');
(window.slotbydup=window.slotbydup || []).push({
id: '5384130',
container: s,
size: '300,300',
display: 'inlay-fix'
});
})();<script charset="utf-8" src="http://pos.baidu.com/bcxm?di=5384130&dri=0&dis=0&dai=0&ps=1170x1113&enu=encoding&dcb=___adblockplus&dtm=SSP_JSONP&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1513734876571&ti=Jenkins%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97%E4%B9%8B%E2%80%94%E2%80%9401%E7%AC%AC%E4%B8%80%E7%AB%A0%20Jenkins%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20-%20CSDN%E5%8D%9A%E5%AE%A2&ari=2&dbv=2&drs=1&pcs=1583x745&pss=1583x4366&cfv=0&cpl=4&chi=1&cce=true&cec=UTF-8&tlm=1513734876&rw=745&ltu=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22924815&ltr=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22925127%2F&ecd=1&uc=1600x860&pis=-1x-1&sr=1600x900&tcn=1513734877"></script><iframe width="300" frameborder="0" height="250" scrolling="no" src="http://pos.baidu.com/s?hei=250&wid=300&di=u3163270&ltu=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22924815&ti=Jenkins%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97%E4%B9%8B%E2%80%94%E2%80%9401%E7%AC%AC%E4%B8%80%E7%AB%A0%20Jenkins%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20-%20CSDN%E5%8D%9A%E5%AE%A2&pis=-1x-1&tcn=1513734877&dtm=HTML_POST&col=zh-CN&cmi=5&pss=1583x4462&dai=3&ps=1446x1113&ccd=24&cja=false&pcs=1583x745&tpr=1513734876709&dis=0&dri=0&dc=2&exps=111000&psr=1600x900&par=1600x860&cce=true&tlm=1513734876&drs=1&ant=0&cfv=0&cdo=-1&cpl=4&ari=2&chi=1&cec=UTF-8&ltr=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22925127%2F"></iframe> ');
(window.slotbydup=window.slotbydup || []).push({
id: '4770930',
container: s,
size: '300,250',
display: 'inlay-fix'
});
})();<script charset="utf-8" src="http://pos.baidu.com/bcxm?di=4770930&dri=0&dis=0&dai=0&ps=1446x1113&enu=encoding&dcb=___adblockplus&dtm=SSP_JSONP&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1513734876571&ti=Jenkins%E5%85%A5%E9%97%A8%E7%B3%BB%E5%88%97%E4%B9%8B%E2%80%94%E2%80%9401%E7%AC%AC%E4%B8%80%E7%AB%A0%20Jenkins%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%20-%20CSDN%E5%8D%9A%E5%AE%A2&ari=2&dbv=2&drs=1&pcs=1583x745&pss=1583x4462&cfv=0&cpl=4&chi=1&cce=true&cec=UTF-8&tlm=1513734876&rw=745&ltu=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22924815&ltr=http%3A%2F%2Fblog.csdn.net%2Fwangmuming%2Farticle%2Fdetails%2F22925127%2F&ecd=1&uc=1600x860&pis=-1x-1&sr=1600x900&tcn=1513734877"></script>

他的热门文章

Jenkins入门系列之——02第二章 Jenkins安装与配置 325207
Jenkins入门系列之——01第一章 Jenkins是什么? 114618
Jenkins进阶系列之——14配置Jenkins用户和权限 92526
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 60010
Jacoco覆盖率工具使用 57964

1. 说明Jenkins折腾了好几个月了打算写个系列记录下有时间会尽量更新的
2. 第一章 Jenkins是什么
3. Jenkins的由来3-1. Jenkins的目标

不良信息举报
您举报文章:Jenkins入门系列之——01第一章 Jenkins是什么?
举报原因:色情 政治 抄袭 广告 招聘 骂人
其他
原文地址:
原因补充:(最多只允许输入30个字)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jenkins