Fork me on GitHub

Jenkins之Jenkins介绍

Jenkins简介


Jenkins是一个CI工具。它可以持续编译,运行你的代码;运行UT或集成测试;将运行结果发送至邮件,或展示成报告。这样做的最终目的是: 让项目保持健康的状态。如果任何checkin break了build,每个人都会在最短的时间内通知到,然后问题被fix。接下来的开发将建立在一个健康正确的基础上,而不是任由问题累积最后失控。 最后,你的项目随时可以被deliver给用户,因为,你的项目每一天都在健康,茁壮的生长。这就是CI的意义所在。
Jenkins 官网:http://jenkins-ci.org/
官网文档:https://jenkins.io/doc/
安装说明:https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins

主要用途:
1) 持续、自动的构建/测试软件项目
2) 监控一些定时执行的任务

Jenkins特性:
1、易安装:仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
2、易配置:提供友好的GUI配置界面;
3、变更支持:Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;
4、支持永久链接:用户是通过web来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接;
5、集成E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时告诉你集成结果(据我所知,构建一次集成需要花费一定时间,有了这个功能,你就可以在等待结果过程中,干别的事情);
6、JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
7、支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;
8、文件指纹信息:Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;
9、支持第三方插件:使得 Jenkins 变得越来越强大;

Jenkins工作原理


该系统的各个组成部分是按照如下顺序来发挥作用的:
1、开发者检入代码到源代码仓库
2、CI系统会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放在对应的工作区.
3、CI系统会在对应的工作区内执行构建过程
4、配置如果存在而且构建完成后,CI系统会在一个新的构建中执行定义的一套测试。完成后触发通知给相关的当事人。
5、配置如果存在而且构建成功后,这个构件会被打包并转移到一个部署目标或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像java.net、SourceForge之类的网站。
6、CI系统通常会根据请求发起相应的操作,诸如即时构建、生成报告或者检索一些构建好的构件。

Jenkins应用场景

Jenkins在企业应用中比较广泛,企业常用CI系统对自己的项目进行构建和测试,来减少开发的时间和精力,而jenkins就是这样的一个ci系统,用于对自己项目的构建和测试。
1、软件构建自动化:配置完成后,CI系统会依照预先制定的时间表,或者针对某一特定事件,对目标软件进行构建。
2、构建可持续的自动化检查:CI系统能持续地获取新增或修改后签入的源代码,也就是说,当软件开发团队需要周期性的检查新增或修改后的代码时,CI系统会不断确认这些新代码是否破坏了原有软件的成功构建。这减少了开发者们在检查彼此相互依存的代码中变化情况需要花费的时间和精力。
3、构建可持续的自动化测试:构建检查的扩展部分,构建后执行预先制定的一套测试规则,完成后触发通知(Email,RSS等等)给相关的当事人。
4、生成后后续过程的自动化:当自动化检查和测试成功完成,软件构建的周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户
使用。
注:部署一个 CI系统需要的最低要求是,一个可获取的源代码的仓库,一个包含构建脚本的项目。

参考资料

认识Jenkins,了解它在实际工作中的应用

======================================================
希望各位朋友支持一下

本文作者:dongsheng
本文地址https://mds1455975151.github.io/archives/d7b6ec3e.html
版权声明:转载请注明出处!

坚持技术分享,您的支持将鼓励我继续创作!