<一>Jenkins实战应用--Jenkins介绍

<h2>系列汇总</h2>

[v_act]这是一个系列文章,大大小小到今天惊然发现竟然已经累计二十篇了,也就不得不做一个小汇总。回想当初写第一篇文章的时候,就已经决心事无巨细,一应认真的走下来,回头遮望,看着皇皇这么多文章,一股强烈的成就感就此油然而生,于是便有了这些汇总整理。在这个过程当中,好像也帮助过不少的人,这是让我尤其开心的事情,同时也结识了一些志同道合的朋友,再没有比这更让人觉得愉悦的事情啦!也希望以后写出更多类似的系列文章。

文章汇总地址如右:<a href="http://www.eryajf.net/category/%E6%9C%AF%E4%B8%9A%E4%B8%93%E6%94%BB/%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4/jenkins">Jenkins入门教程。</a&gt;

如果相中哪个,点击进去便是。希望正在读这段话的你能够在这个小系列中获得自信以及喜悦![/v_act]

<h2>一,持续集成和Jenkins介绍</h2>

[gallery ids="61"]

对于很多做嵌入式软件的朋友来说,可能从来都没有听说过持续集成这个词,也就无从接触过Jenkins这个工具软件。自去年转调部门后,除了解了设计模式外,还有幸接触到了Jenkins。

那什么是持续集成?Jenkins具体用来做什么,对软件开发有什么益处呢?总得来说,这两者主要是涉及一个软件质量的主题,特别是团队开发软件项目。下面就来介绍介绍下这两者。
<h3>一,持续集成的概念</h3>
持续集成,Continuous integration ,简称CI。

随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的需求中快速适应和保证软件的质量也显得尤其的重要。

持续集成正是针对这一类问题的一种软件开发实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。而每次的集成都是通过自动化的构建来验证,包括自动编译、发布和测试,从而尽快地发现集成错误,让团队能够更快的开发内聚的软件。

以我经过的项目(假设为A项目)为例进行描述。

首先,解释下集成。我们所有项目的代码都是托管在SVN服务器上。每个项目都要有若干个单元测试,并有一个所谓集成测试。所谓集成测试就是把所有的单元测试跑一遍以及其它一些能自动完成的测试。只有在本地电脑上通过了集成测试的代码才能上传到SVN服务器上,保证上传的代码没有问题。所以,集成指集成测试。

再说持续。不言而喻,就是指长期的对项目代码进行集成测试。既然是长期,那肯定是自动执行的,否则,人工执行则没有保证,而且耗人力。对此,我们有一台服务器,它会定期的从SVN中检出代码,并编译,然后跑集成测试。每次集成测试结果都会记录在案。完成这方面工作的就是下面要介绍的Jenkins软件。当然,它的功能远不止这些。在我们的项目中,执行这个工作的周期是1天。也就是,服务器每1天都会准时地对SVN服务器上的最新代码自动进行一次集成测试。

<h3>二,持续集成的特点</h3>
它是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;

需要有专门的集成服务器来执行集成构建;

需要有代码托管工具支持;
<h3>三,持续集成的作用</h3>
保证团队开发人员提交代码的质量,减轻了软件发布时的压力;

持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;

上面我们了解了持续集成的知识。既然有这么多的好处,那我们怎么样实现它呢?这就是接下来要介绍的名角:Jenkins软件。
<a href="http://www.eryajf.net/wp-content/uploads/2018/03/2018032402511062.png"><img src="http://www.eryajf.net/wp-content/uploads/2018/03/2018032402511062.png" alt="" class="aligncenter size-full wp-image-62" /></a>
<h2>贰, Jenkins</h2>
<h3>一,Jenkins介绍</h3>
Jenkins,原名Hudson,2011年改为现在的名字,它 是一个开源的实现持续集成的软件工具。官方网站:http://jenkins-ci.org/

Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。

目前持续集成(CI)已成为当前许多软件开发团队在整个软件开发生命周期内侧重于保证代码质量的常见做法。它是一种实践,旨在缓和和稳固软件的构建过程。并且能够帮助您的开发团队应对如下挑战:

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

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

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

生成后后续过程的自动化 :当自动化检查和测试成功完成,软件构建的周期中可能也需要一些额外的任务,诸如生成文档、打包软件、部署构件到一个运行环境或者软件仓库。这样,构件才能更迅速地提供给用户使用。

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

<h3>二,Jenkins特点</h3>
易安装:仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;

易配置:提供友好的GUI配置界面;

变更支持:Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;

支持永久链接:用户是通过web来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接;

集成E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时告诉你集成结果(据我所知,构建一次集成需要花费一定时间,有了这个功能,你就可以在等待结果过程中,干别的事情);

JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;

支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;

文件指纹信息:Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;

支持第三方插件:使得 Jenkins 变得越来越强大;

<h3>三,其它集成工具</h3>
其它比较著名的持续集成工具有:CruiseControl,TeamCity,Continuum等。

<h3>四,嵌入式软件集成</h3>
据我了解,在嵌入式软件开发中,很少人有用到持续集成工具。个人觉得最主要的原因是:嵌入式软件与硬件联系比较紧密,很多时候难以满足持续集成的条件——构建自动化测试。

但我们还是可以有所作为。在设计应用软件时,把逻辑业务与硬件相关功能区分开来,对逻辑业务部分编写单元测试,然后做集成测试。

当然,对于小型的嵌入式应用软件就没必要做这个集成工作了。

本文根据网上一篇佳文整理而成。原文链接: http://velep.com/archives/867.html

原文地址:http://blog.51cto.com/13139776/2285511

时间: 2024-08-04 19:36:15

<一>Jenkins实战应用--Jenkins介绍的相关文章

jenkins实战之jenkins安装部署(一)

[本文档所介绍的内容适用于日常测试/生产环境等常见的jenkins应用环境部署] 由于jenkins的安装是运行在java环境中,所以安装前需要部署java相关环境 一:java环境部署前准备: 1.1相关软件以及系统 系统要求:Centos 6.0(以上) (64位) 相关中间件:jdk1.7.0_71,  apache-tomcat7.0 1.2下载jdk和tomcat,jenkins等相关软件 下载jdk(版本为jdk1.7.0_71) wget --no-check-certificat

jenkins实战之jenkins安装部署(二)

上一小节介绍了Jenkins安装(Linux/uninx平台),这节我们讲讲Jenkins界面操作(包括系统设置,工具安装,插件管理,系统升级,安全设置等等操作): 登录jenkins首页,分别有以下选项栏,从左侧看起,点击Jenkins系统管理我们会看到右侧list栏,内容如下: 一. 系统设置选项 打开系统设置选项,会看以下相关选项设置: 1.1 Jenkins主目录,项目工作空间根目录,构建记录根目录设置 该选项主要设置Jenkins工作相关的路径,注意的是Jenkins的主目录可以利用环

实战docker+jenkins+git构建持续集成环境

本文重点介绍jenkins以及让jenkins如何实现在docker容器中运行.jenkins和docker私有仓库又是怎么结合的.docker说明及安装和git说明及安装在本文中不会特别详细的介绍. ?并且,在本文中不着重介绍原理性的东西,比如不会介绍什么是持续集成.持续构建等等.本文的重点是实战为主.对持续集成.持续交互.持续部署不太了解的朋友可以参考这篇文章了解一下:https://www.zhihu.com/question/23444990 1.背景说明 Jenkins是一个开源软件项

jenkins介绍,Jenkins安装,Jenkins发布PHP代码

Jenkins介绍 官网 https://jenkins.ioJenkins是一个开源的.可扩展的持续集成.交付.部署(软件/代码的编译.打包.部署)基于web界面的平台.Jenkins是一个工具集,提供了各种各样的插件比如获取git上最新的代码比如可以帮你编译源代码比如可以调用自定义的shell脚本远程执行命令官方文档 https://jenkins.io/doc/ Jenkins安装 最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8 安装jdk1.8 yum install

Jenkins系列之Jenkins的安装(一)

自动化测试的时候通常我们都会进行持续集成,下面是持续集成工具Jenkins的安装 Jenkins优点: 开源免费 跨平台,支持所有的平台 web形式的可视化的管理页面 安装配置超级简单 tips及时快速的帮助 有丰富的插件 那么下面我们就来看看Jenkins的安装. Jenkins有几种安装方式,这里我们介绍一个最简单的-war包安装. 1.安装JDK,这里不做详细介绍. 2.安装Tomcat,这里也不做详细介绍. 3.下载war包,地址为:https://jenkins.io/download

持续集成高级篇之Jenkins cli与Jenkins ssh

系列目录 Jenkins Cli介绍 Jenkins Cli为Jenkins提供的一个cli工具,此工具功能非常强大,可以完成诸如重启jenkins,创建/删除job,查看job控制台输出,添加/删除节点等功能.但是实际工作中,像创建任务这样的配置显然cli非常吃力,不如直接在web管理界面操作,但是对于重启Jenkins,查看诊断信息等,执行一个手动构建任务等,则直接使用cli比进入web管理界面操作更加方便.因此什么时候web管理界面,什么时候使用cli,要看是否有利于提升生产力,是否有利于

在Docker Centos上部署Jenkins(包含Jenkins汉化)

环境: 本机 - macOS 10.12.6 Docker - Docker Community Editoin_ Version 17.06.0-ce-mac19(安装步骤见另一篇) 使用的Docker镜像: centos (latest) 安装步骤: 1.新建并启动一个centos docker容器 tester_mac:~ $  docker run -itd --privileged --name=jenkins -p 4000:4000 centos /usr/sbin/init --

[Java聊天室服务器]实战之一 开篇介绍

前言 学习任何一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列虽然涉及的是socket相关的知识,但学习之前,更想和广大程序员分享的是一种心境:学习是一个循序渐进的过程,心态应该随时调节,保持戒骄戒躁的状态.比如最近在看网易公开课MIT<算法导论>,老师提到,学习算法之前要计算机数学+离散数学+概率论等课程的知识,所以一直学不好算法的程序员不妨从基础入手,这都是中国式教育惹的祸啊!(此处省略一万字......)

jenkins 升级 和 jenkins备份

[[email protected] ~]# rpm -ql jenkins /etc/init.d/jenkins /etc/logrotate.d/jenkins /etc/sysconfig/jenkins /usr/lib/jenkins /usr/lib/jenkins/jenkins.war /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins /var/log/jenkins [[email protected] ~]# 直