Jenkins是什么:持续集成(CI)流程、特点、应用场景

12 篇文章 0 订阅
订阅专栏

那什么是持续集成?Jenkins具体用来做什么,对软件开发有什么益处呢?

总得来说,这两者主要是涉及一个软件质量的主题,特别是团队开发软件项目。下面就来介绍介绍下这两者。

持续集成

持续集成,Continuous integration ,简称CI。

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

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

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

首先,解释下集成

我们所有项目的代码都是托管在SVN服务器上。

每个项目都要有若干个单元测试,并有一个所谓集成测试。

所谓集成测试就是把所有的单元测试跑一遍以及其它一些能自动完成的测试。只有在本地电脑上通过了集成测试的代码才能上传到SVN服务器上,保证上传的代码没有问题。

所以,集成指集成测试

再说持续

不言而喻,就是指长期的对项目代码进行集成测试。

既然是长期,那肯定是自动执行的,否则,人工执行则没有保证,而且耗人力。

对此,我们有一台服务器,它会定期的从SVN中检出代码,并编译,然后跑集成测试。每次集成测试结果都会记录在案。

完成这方面工作的就是下面要介绍的Jenkins软件。

当然,它的功能远不止这些。在我们的项目中,执行这个工作的周期是1天。也就是,服务器每1天都会准时地对SVN服务器上的最新代码自动进行一次集成测试。

持续集成的特点

  • 它是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;
  • 需要有专门的集成服务器来执行集成构建;
  • 需要有代码托管工具支持;

持续集成的作用

  • 保证团队开发人员提交代码的质量,减轻了软件发布时的压力;
  • 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;

持续集成(CI)的流程

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

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

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

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

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

5. (配置如果存在)如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器)或存储为软件仓库中的一个新版本。软件仓库可以是CI系统的一部分,也可以是一个外部的仓库,诸如一个文件服务器或者像Java.net、SourceForge之类的网站。

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

上面我们了解了持续集成的知识。既然有这么多的好处,那我们怎么样实现它呢?

这就是接下来要介绍的名角:Jenkins软件。

 

Jenkins

Jenkins,原名Hudson,2011年改为现在的名字,它 是一个开源的实现持续集成的软件工具。官方网站:http://jenkins-ci.org/。

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

Jenkins特点

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

Jenkins应用场景

  • l 持续、自动地构建/测试软件项目。
  • l 监控一些定时执行的任务。

 

其它集成工具

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

参考链接: http://velep.com/archives/867.html

jenkins工具]之一:持续集成jenkins入门介绍
yoxiyehei_wzx的博客
09-01 3817
持续集成开发中,我们经常遇到一些奇怪问题,比如本地可以编译成功的代码但是同事们更新代码后编译出错,或者在项目有多个Target的时候,资源文件只添加到了当前的Target,另外一个Target这个时候是不能正常编译的,再比如写的工具类,被同事改了,或者自己有改动,很多地方用到了,怎么保证这个类的行为没有发生变而影响到项目中的其它模块呢?诸如此类。那么这些问题原因在哪,可否避免呢?当然是可以避免的,
Jenkins 持续集成(CI)工具
每天都要开心呀(#^.^#)
05-27 2243
成为DevOps工程师的基础-Jenkins自动CI工具
Jenkins持续集成,原来那么简单
最新发布
qq_45838796的博客
08-27 1224
(1)软件开发生命周期软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试和部署过程的集合。如下图所示 :需求需求分析这是生命周期的第一阶段,根据项目需求,团队执行一个可行性计划的分析。项目需求可能是公司内部或者客户提出的。这阶段主要是对信息的收集,也有可能是对现有项目的改善和重新做一个新的项目。还要分析项目的预算多长,可以从哪方面受益及布局,这也是项目创建的目标。设计。
Jenkins学习一:Jenkins是什么?
weixin_30561425的博客
03-20 981
文章转载:http://www.cnblogs.com/zz0412/tag/jenkins/default.html?page=1 第一章 Jenkins是什么? Jenkins是一个可扩展的持续集成引擎。 主要用于: l持续、自动地构建/测试软件项目。 l监控一些定时执行的任务。 Jenkins拥有的特性包括: l易于安装-只要把jenkins.war部...
jenkins笔记(1)
weixin_33868027的博客
11-16 1351
一、相关概念 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。 1.2 Jenkins目的: 1、持续、自动地构建/测试软件项目。 2、...
使用Jenkins来实现内部的持续集成流程(下)
dotNET跨平台
05-02 313
目录配置项目构建添加任务添加源代码地址和登录凭据添加构建触发器TFS添加WebHook添加构建步骤后端UIAPI端配置项目构建1添加任务2添加源代码地址和登录凭据...
jenkins持续集成工作原理
weixin_30648963的博客
05-02 345
转载https://www.cnblogs.com/liyuanhong/p/6548925.html 片段 这里是选择Gitlab作为git server。Gitlab的功能和Github差不多,但是是开源的,可以用来搭建私有git server,也提供非常强大的web GUI,比如开发者互相review源代码的时候就会很方便。 系统的工作流程大概分为以下几步: 1> 开发者...
Jenkins持续集成01—Jenkins服务搭建和部署
weixin_30467087的博客
09-29 129
一、介绍Jenkins 1、Jenkins概念   Jenkins是一个功能强大的应用程序,允许持续集成持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允许持续集成。 2、Jenkins目的 ① 持续、自动地构建/测试软件项目。 ② 监控软件开放流程,快速问题定位及处理,提示...
持续集成CI-jenkins
05-21
### 持续集成CIJenkins详解 #### 一、持续集成CI概念与意义 持续集成(Continuous Integration,简称CI)是一种软件开发实践方法,它强调开发团队成员频繁地集成各自的工作成果,通常每位成员每天至少进行一次...
持续集成工具Jenkins应用指南
06-13
Jenkins是一款高效的工具,是持续集成...本视频为您梳理出如何使用Jenkins设计和实现一个高效、灵活的持续集成持续交付作业作业流,帮助您理解jenkins适用于什么场景,让您学会如何使用Jenkins去考虑和解决实际问题。
jenkins+docker集成harbor实现可持续集成
热门推荐
congge
04-14 1万+
jenkins+docker集成harbor实现可持续集成
Jenkins是一个开源的持续集成持续部署工具.docx
07-23
Jenkins 是一款备受推崇的开源持续集成CI)和持续部署(CD)工具,最初源自于 Hudson,使用 Java 语言编写,具备跨平台运行的能力。它可以独立运行或者在诸如 Tomcat 等 Servlet 容器中运行。由于其高度的灵活性和...
jenkins是什么,有什么作用
weixin_42593130的博客
12-26 958
Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,用于持续交付(continuous delivery)和持续集成(continuous integration)。它提供了许多插件,用于支持各种开发流程,包括构建、测试、部署等。 Jenkins 的主要作用是帮助开发人员在集成代码之前尽早发现问题,从而缩短交付周期。它还可以用于自动构建、测试和部署,以便快速交付质量较高的软件。 ...
Jenkins应用场景
许你七十年的博客
09-05 827
Jenkins的主要目标是监控软件开发流程,快速显示问题。所以能保证开发人员以及相关人员省时省力提高开发效率。 CI系统在整个开发过程中的主要作用是控制:当系统在代码库中检测到修改时,它将运行构建的任务委托给构建过程本身。如果构建失败了,那么CI系统将通知相关人员,然后继续监视代码库。 应用场景: 使用Jenkins搭建iOS/Android持续集成打包平台,提高效率。 Jenkins集成邮件通知模板,可以检测构建过程中出现的问题。 jenkins+ant+jmeter搭建持续集成的接口测试.
持续集成环境Jenkins详解
lykangjia的专栏
02-22 1111
Jenkins介绍  Jenkins是一个开源的Java Web项目,一个持续集成的Web项目。例如在自动测试中,开发了自动测试的脚本,不可能一直用IDE来运行,然后查看测试结果,这个时候我们就需要借助一个平台,可以自动获取最新代码,编译并构建,并且是在设置的时间持续执行,自动完成这些步骤以后并把测试的结果以邮件的形式发送给指定的开发,测试人员,这是Jenkins在自动测试上的主要用途。
jenkins
bzdmz_的博客
10-18 185
介绍 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解释)。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。常用的版本控制工具有SVN、GIT,构建工具有Maven、Ant、Gradle。 功能 备份、迁移、恢复jenkins 首先找到JENKINS_HOME
CI工作流程和机器人
danpu0978的博客
04-28 305
聊天机器人无处不在。 突然,我们的消息传递服务被小型的自动系统所淹没,这些自动系统在人对人的通信领域中占据着空间。 现在,我们可以与机器人进行对话,以帮助我们购买产品,预订旅行,开会,解决客户服务问题等等。 现在在柏林,有两个专门针对机器人的聚会,他们激起了我的兴趣,写了一系列有关如何使用和创建它们的文章。 当然对于Codeship,它必须是帮助您构建,部署或监视应用程序的机器人。 ...
Jenkins使用场景
学无止境,向互联网致敬!
11-28 4032
作者:IDO老徐 链接:https://zhuanlan.zhihu.com/p/23255035 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 简单直接点,其实这篇文章就是告诉各位, Jenkins能解决什么问题,有哪些应用场景,为何要掌握Jenkins,掌握Jenkins后有哪些好处,弄懂Jenkins需要掌握哪些知识 Jen
jenkens持续集成原理
jiegoufenxi的博客
05-25 112
jenkens持续集成原理,博客园
写文章

热门文章

  • 微服务:注册中心ZooKeeper、Eureka、Consul 、Nacos对比 219458
  • SpringDataJpa:JpaRepository增删改查 129741
  • java命令 : java -jar 和 java -cp 121550
  • GOPROXY:解决 go get golang.org/x 包失败 111664
  • Python3异常-AttributeError: module 'sys' has no attribute 'setdefaultencoding 111483

分类专栏

  • k8s-生产化运维和二次开发 付费 18篇
  • RabbitMQ:可靠、安全、性能高 付费 13篇
  • AI大模型 2篇
  • 琦彦の百宝箱 224篇
  • 公众号#云原生AI百宝箱 19篇
  • BigData: 不止于大 10篇
  • 项目管理:激发善意和潜能 4篇
  • JDK新特性 1篇
  • 与孤尽老师激扬代码 5篇
  • 说透Java面试题 让他人抱佛脚 29篇
  • 边走边说 5篇
  • Docker:一个应用容器引擎 35篇
  • kubernetes-云原生的掌舵人 159篇
  • Volcano: 基于Kubernetes的容器批量调度引擎 7篇
  • Go-大道至简 23篇
  • Istio-后 Kubernetes 时代 11篇
  • Prometheus:不可少的监控工具 9篇
  • Elasticsearch:入门与深入 8篇
  • Redis:不只是数据库 28篇
  • 微服务-SpringCloud和Istio 57篇
  • KubeEdge-边缘计算的开拓者 1篇
  • Jenkins:一种持续集成工具 13篇
  • DevOps-不是一个人在战斗 21篇
  • MongoDB-从基础到深入 25篇
  • Django的那点事 17篇
  • 面试小红书 1篇
  • 并发编程 20篇
  • JVM调优 8篇
  • VMware 2篇
  • 分库分表 5篇
  • Arthas 4篇
  • Git 14篇
  • Hadoop 15篇
  • Spring 34篇
  • SpringMVC 9篇
  • SpringBoot 23篇
  • SpringData 2篇
  • Hibernate 14篇
  • Redis 26篇
  • MongoDB 25篇
  • Python爬虫 14篇
  • Python基础 20篇
  • python 25篇
  • python2 24篇
  • python3 30篇
  • Django 17篇
  • 回归JAVA 43篇
  • Tomcat 11篇
  • JDK 2篇
  • Java8 9篇
  • 事务 1篇
  • JS 2篇
  • log4j 1篇
  • HttpClientUtil 1篇
  • Scrapy 2篇
  • Session 3篇
  • Mybatis 15篇
  • SQL优化 13篇
  • Python异常 2篇
  • javax异常 1篇
  • wordcloud 1篇
  • IDE 20篇
  • IDEA 27篇
  • Linux 39篇
  • Multitail 1篇
  • MySQL 23篇
  • Maven 9篇
  • 前端 3篇
  • JPA 15篇
  • ALI 2篇
  • 代码规范 3篇
  • JDBC 2篇
  • JDNI
  • fastjson 3篇
  • 数据库 1篇
  • LogBack 3篇
  • Xstream 2篇
  • Lombok 1篇
  • 模块化开发 1篇
  • SOFA 1篇
  • Jenkins 12篇
  • Reactor 1篇
  • Guava 7篇
  • Joda 1篇
  • zookeeper 4篇
  • Quartz 2篇
  • Dubbo 
  • Nacos 1篇
  • Dubbo 8篇
  • Swagger2 4篇
  • Shiro 2篇
  • Design Pattern 1篇
  • ShardingSphere 1篇
  • Nginx 2篇
  • PowerDesigner 2篇
  • 业余小能手 1篇

最新评论

  • RabbitMQ持久化机制

    null or notnull: rabbitmq知识点简直太多了,我都要炸了

  • centos7 搭建 kubernetes1.16.0 集群

    暮w光: 提醒新手,不要一路无脑cv犯我这样的低级错误,docker-ce安装了18版本后别再敲下面那个安装最新版本docker命令,否则docker ce版本替换成26

  • WSL2设置静态ip

    keiluo: 确实厉害,解决了我的问题,非常感谢表情包

  • OWASP TOP 10 – 终极漏洞指南(2021)

    Xenon_Robinson: 博主,你视频里所有的超链接都已经被重定向到veracode了

  • MySQL防止重复插入相同记录 insert if not exists

    weixin_44251133: 语法看着怪怪的

最新文章

  • 【智算101】为什么用好大模型,离不开“向量数据库“呢
  • WSL2设置静态ip
  • 如何快速下载huggingface大模型
2024年10篇
2023年12篇
2022年101篇
2021年182篇
2020年136篇
2019年202篇
2018年169篇
2017年159篇

目录

目录

分类专栏

目录

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢钢材雕塑夏季商场美陈布展广西玻璃钢雕塑厂家公司淘宝网商场美陈520商场美陈装饰仙林十一商场美陈玻璃钢 雕塑 维修安阳景观园林玻璃钢仿铜雕塑上海校园玻璃钢雕塑四川特色商场美陈销售广东周年庆典商场美陈采购杭州德清商场美陈布置怎么做芒市玻璃钢雕塑厂家桐庐商场美陈顺义玻璃钢海洋雕塑玻璃钢雕塑哪个好用南阳校园玻璃钢雕塑设计佳木斯公园玻璃钢雕塑定做成都特色玻璃钢雕塑价位长沙户内玻璃钢雕塑订做价格四川装饰商场美陈制造通化玻璃钢雕塑厂家定制锡林郭勒盟玻璃钢雕塑大型玻璃钢雕塑销售武汉镜面不锈钢玻璃钢彩绘雕塑营口玻璃钢门头雕塑开远市玻璃钢雕塑设计订做六安商场圣诞美陈五指山玻璃钢飞马雕塑怀柔玻璃钢人物雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化