分分pk10直播 _jenkins手把手教你从入门到放弃01

  • 时间:
  • 浏览:1

一、简介

  jenkins是另一一个多多 可扩展的持续集成引擎。持续集成,也可是我通常所说的CI(Continues Integration),可不后能 说是现代软件技术开发的基础。持续集成是本身 软件开发实践,

即团队开发成员经常集成我们都都我们都我们都 的工作,通常每个成员合适集成一次,也

就原困每天可能会趋于稳定多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。你你你这俩团队发现你你你这俩 过程可不后能 大大减少

集成的大问题,让团队可不后能 更快的开发内聚的软件。

二、主要用于

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

2、监控你你你这俩定时执行的任务。

三、jenkins拥有的形态

1、易于安装:只要把jenkins.war包部署到servlet容器即可,不还要数据库的支持。

2、易于配置:所有的配置后会通过其提供的web界面实现得。

3、集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过E-mail通知相关人员以及负责人。

3、生成Junit/testNG/HTMLTestRunner测试报告

4、分布式构建支持jenkins可不后能 让多台计算机一同构建、测试。

5、文件识别:jenkins可不后能 跟踪那次构建生成那些jar,那次构建使用哪个版本的jar等。

6、插件支持:支持扩展插件,让人开发适合个人团队使用的工具。

 四、jenkins的由来

  目前持续集成(CI)已成为当前你你你这俩软件开发团队在整个软件开趋于稳定命周期内侧重于保证代码质量的常见做法。它是本身 实践,旨在缓和和稳固软件的构建过程。后后 可不后能 帮助您的开发团队应对如下挑战:

  1、软件构建自动化 :配置完成后,CI系统会依照预先制定的时间表,可能针对某一特定事件,对目标软件进行构建。

  2、建可持续的自动化检查 :CI系统能持续地获取新增或修改后签入的源代码,也可是我说,当软件开发团队还要周期性的检查新增或修改后的代码时,CI系统会不断确认那些新代码否有破坏了原有软件的成功构建。这减少了开发者们在检

查彼此相互依存的代码中变化情况需合适的时间和精力(说直接你你你这俩也是钱啊,呵呵)。

  3、构建可持续的自动化测试 :构建检查的扩展主次,构建后执行预先制定的一套测试规则,完成后触发通知(Email,RSS等等)给相关的个人。

  4、生成后后续过程的自动化 :当自动化检查和测试成功完成,软件构建的周期中可能也还要你你你这俩额外的任务,诸如生成文档、打包软件、部署构件到另一一个多多 运行环境可能软件仓库。原来 ,构件可不后能 更很慢地提供给用户使用。

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

下图概括了CI系统的基本形态:

  该系统的各个组成主次是按如下顺序来发挥作用的:

  1.、开发者检入代码到源代码仓库。

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

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

  4.、(配置可能趋于稳定)构建完成后,CI系统会在另一一个多多 新的构件中执行定义的一套测试。完成后触发通知(Email,RSS等等)给相关的个人。

  5.、(配置可能趋于稳定)可能构建成功,你你你这俩 构件会被打包并转移到另一一个多多 部署目标(如应用服务器)或存储为软件仓库中的另一一个多多 新版本。软件仓库可不后能 有CI系统的一主次,也可不后能 有另一一个多多 内外部的仓库,诸如另一一个多多 文件服务器可能像Java.net、 SourceForge类似 的网站。

  6.、CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告,可能检索你你你这俩构建好的构件。

Jenkins可是我如此 另一一个多多 CI系统。后后叫做Hudson。

以下是使用Jenkins的你你你这俩理由:

  1、是所有CI产品中在安装和配置上最简单的。

  2、基于Web访问,用户界面非常友好、直观和灵活,在你你你这俩情况下,还提供了AJAX的即时反馈。

  3、Jenkins是基于Java开发的(可能你是另一一个多多 Java开发人员,这是非常有用的),但它不仅限于构建基于Java的软件。

  4、Jenkins拥有小量的插件。那些插件极大的扩展了Jenkins的功能;它们后会开源的,后后 它们可不后能 直接通过web界面来进行安装与管理。

五、Jenkins的目标

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

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

有点儿是它具有以下优点:

  1、Jenkins一切配置都可不后能 在web界面上完成。你你你这俩配置如MAVEN_HOME和Email,只还要配置一次,所有的项目就都能用。当然也可不后能 通过修改XML进行配置。

  2、支持Maven的模块(Module),Jenkins对Maven做了优化,后后 它能自动识别Module,每个Module可不后能 配置成另一一个多多 job。相当灵活。

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

  4、构件指纹(artifact fingerprint),每次build的结果构件都被很好的自动管理,我不要 任何配置就可不后能 方便的浏览下载。