第一:Jenkins简介

一.简介

1.Jenkins是可扩展的持续集成引擎
1.1.持续集成也就是通常所说的CI,可以说是现代软件技术开发的基础
1.2.持续集成是一种软件开发实践

2.即团队开发成员经常集成他们的工作,通常每个成员至少集成一次
2.1.也就意味着每天可能会发生多次集成

3.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证
3.1.从而尽快地发现集成错误。

4.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件

二.主要用于

1.持续、自动地构建、测试软件项目

2.监控一些定时执行的任务

三.Jenkins拥有的特性

1.易于安装:只要把jenkins.war包部署到servlet容器即可,不需要数据库的支持
2.易于配置:所有的配置都是通过其提供的web界面实现得
2.1.集成RSS/Email通过RSS发布构建结果或构建完成时通过E-mail通知相关人员以及负责人

3.生成Junit/testNG/HTMLTestRunner测试报告
4.分布式构建支持jenkins能够让多台计算机一起构建、测试
5.文件识别:jenkins能够跟踪那次构建生成那些jar,那次构建使用哪个版本的jar等
6.插件支持:支持扩展插件,你可以开发适合自己团队使用的工具

四.Jenkins的由来

1.目前持续集成(CI)已成为整个软件开发生命周期内侧重于保证代码质量做法
1.1.它是旨在缓和和稳固软件的构建过程

2.软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表
2.1.或者针对某一特定事件,对目标软件进行构建

3.建可持续的自动化检查 :CI系统能持续地获取新增或修改后签入的源代码
3.1.当软件开发团队需要周期性的检查新增或修改后的代码时
3.2.CI系统会不断确认这些新代码是否破坏了原有软件的成功构建
3.3.这减少了开发者们在检
3.4..查彼此相互依存的代码中变化情况需要花费的时间和精力

4.构建可持续的自动化测试 :构建检查的扩展部分,构建后执行预先制定的一套测试规则
4.1.完成后触发通知(Email,RSS等等)给相关的当事人

5.生成后后续过程的自动化 :当自动化检查和测试成功完成,
5.1.软件构建的周期中可能也需要一些额外的任务

5.1.1.诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库
5.1.2.这样,构件才能更迅速地提供给用户使用

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

在这里插入图片描述

7.系统的各个组成部分是按顺序来发挥作用
7.1.开发者检入代码到源代码仓库

7.2.CI系统会为每一个项目创建了一个单独的工作区
7.2.1.当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区

7.3.CI系统会在对应的工作区内执行构建过程

7.4.(配置如果存在)构建完成后,CI系统会在新的构件中执行定义的一套测试
7.4.1.完成后触发通知(Email,RSS等等)给相关的当事人

7.5.(配置如果存在)如果构建成功,构件会被打包并转移到部署目标(如应用服务器)
7.5.1.或存储为软件仓库中的一个新版本

7.5.2.软件仓库可以是CI系统的一部分,也可以是一个外部的仓库
7.5.2.1.诸如一个文件服务器或者像Java.net、 SourceForge之类的网站

7.6.CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告
7.6.1.或者检索一些构建好的构件
8.使用Jenkins的理由
8.1.是所有CI产品中在安装和配置上最简单的

8.2.基于Web访问,用户界面非常友好、直观和灵活,在许多情况下还提供AJAX的即时反馈

8.3.Jenkins是基于Java开发的,但它不仅限于构建基于Java的软件

8.4.Jenkins拥有大量的插件,这些插件极大的扩展Jenkins的功能
8.4.1.它们都是开源的,而且它们可以直接通过web界面来进行安装与管理

五.Jenkins的目标

1.Jenkins的主要目标是监控软件开发流程,快速显示问题

1.1.所以能保证开发人员以及相关人员省时省力提高开发效率
2.CI系统在整个开发过程中的主要作用是控制
2.1.当系统在代码存储库中探测到修改时,它将运行构建的任务委托给构建过程本身
2.2.如果构建失败,那么CI系统将通知相关人员,然后继续监视存储库
2.3.它的角色看起来是被动的;但它确能快速反映问题
3.具有的优点
3.1.Jenkins配置都可以在web界面上完成。
3.1.1.有些配置如MAVEN_HOMEEmail,只需要配置一次,所有的项目就都能用
3.1.2.当然也可以通过修改XML进行配置

3.2.支持Maven的模块(Module)JenkinsMaven做优化
3.2.1.因此它能自动识别Module,每个Module可以配置成一个job

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

3.4.构件指纹,每次build的结果构件都被很好的自动管理
3.4.1.无需任何配置就可以方便的浏览下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平头哥-测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值