当前位置:网站首页>Jenkins--持续集成服务器
Jenkins--持续集成服务器
2022-07-28 12:15:00 【51CTO】
1.持续集成:
1.1概念
持续集成,Continuous integration ,简称CI。
集成:我们所有项目的代码都是托管在SVN服务器上。每个项目都要有若干个单元测试,并有一个所谓集成测试。所谓集成测试就是把所有的单元测试跑一遍以及其它一些能自动完成的测试。只有在本地电脑上通过了集成测试的代码才能上传到SVN服务器上,保证上传的代码没有问题。所以,集成指的是--集成测试。
持续:持续指的是--长期的对项目代码进行集成测试。既然是长期,那肯定是自动执行的,否则,人工执行则没有保证,而且耗人力。对此,我们有一台服务器,它会定期的从SVN中检出代码,并编译,然后跑集成测试。每次集成测试结果都会记录在案。完成这方面工作的就是下面要介绍的Jenkins软件。当然,它的功能远不止这些。在我们的项目中,执行这个工作的周期是1天。也就是,服务器每1天都会准时地对SVN服务器上的最新代码自动进行一次集成测试。


1.2特点
- 它是一个自动化的周期性的集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预;
- 需要有专门的集成服务器来执行集成构建;
- 需要有代码托管工具支持;
1.3作用
- 保证团队开发人员提交代码的质量,减轻了软件发布时的压力;
- 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;
通过下面这个可恭可敬的服务老头就在对比一下上面两条的作用就很形象了!他为我们提供了很周到的持续集成服务!项目集成不需要我们过多操心交给他们就好了!

2.Jenkins
2.1Jenkins介绍
Jenkins,原名Hudson,2011年改为现在的名字,它 是一个开源的实现持续集成的软件工具。官方网站: http://jenkins-ci.org/。
Jenkins 能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。
2.2Jenkins特点
- 易安装:仅仅一个 java -jar jenkins.war,从官网下载该文件后,直接运行,无需额外的安装,更无需安装数据库;
- 易配置:提供友好的GUI配置界面;
- 变更支持:Jenkins能从代码仓库(Subversion/CVS)中获取并产生代码更新列表并输出到编译输出信息中;
- 支持永久链接:用户是通过web来访问Jenkins的,而这些web页面的链接地址都是永久链接地址,因此,你可以在各种文档中直接使用该链接;
- 集成E-Mail/RSS/IM:当完成一次集成时,可通过这些工具实时告诉你集成结果(据我所知,构建一次集成需要花费一定时间,有了这个功能,你就可以在等待结果过程中,干别的事情);
- JUnit/TestNG测试报告:也就是用以图表等形式提供详细的测试报表功能;
- 支持分布式构建:Jenkins可以把集成构建等工作分发到多台计算机中完成;
- 文件指纹信息:Jenkins会保存哪次集成构建产生了哪些jars文件,哪一次集成构建使用了哪个版本的jars文件等构建记录;
- 支持第三方插件:使得 Jenkins 变得越来越强大;
其他集成工具
其它比较著名的持续集成工具有:CruiseControl,TeamCity,Continuum等。
参考文章:
http://velep.com/archives/867.html

作者:翎野君
如果您喜欢或希望看到更多我的文章,可关注我的微信公众号《翎野君》。
转载文章请务必保留出处和署名,否则保留追究法律责任的权利。
边栏推荐
- [embedded C foundation] Part 6: super detailed explanation of common input and output functions
- RGB game atmosphere light touch chip-dlt8s04a-jericho
- Leetcode 笔记 118. 杨辉三角
- 企业数字化本质
- Risk analysis of option trading
- Chapter 6 提升
- 什么是事务及数据库的优化方法
- [matlab] IIR filter
- Sub thread update UI full solution
- How much do you know about JVM memory management
猜你喜欢

Unity—“合成大西瓜”小游戏笔记

JVM 内存管理 你知道多少

Low code: reduce technical capability requirements and improve software development efficiency

The essence of enterprise Digitalization

Have a part of the game, after NFT is disabled in my world

UV germicidal lamp chip dlt8p65sa Jericho

Chapter 6 promotion

Comments are not allowed in JSON
![[embedded C foundation] Part 1: basic data types](/img/45/b0bc9e90b0582f0f2624ce27b5a76c.png)
[embedded C foundation] Part 1: basic data types

Transaction of MySQL underlying principle (2)
随机推荐
gicv3 spi register
Black cat takes you to learn EMMC Protocol Part 26: hardware reset operation of EMMC (h/w reset)
[FPGA]: MATLAB generates COE files
Le transaction
Auto.js enables Taobao to quickly submit orders
管理区解耦架构见过吗?能帮客户搞定大难题的
基于深度学习的超分辨率重建
One track education, PHP training, unity of knowledge and practice, popular
基于pytorch卷积人脸表情识别–毕业设计「建议收藏」
MySQL practice -- master-slave replication
Comments are not allowed in JSON
Shell基础概念和变量
Black cat takes you to learn EMMC Protocol Part 24: detailed explanation of EMMC bus test program (cmd19 & cmd14)
验证码暴力破解测试[通俗易懂]
Tidb 6.x in action was released, a summary of 6.x practices that condense the collective wisdom of the community!
Leetcode 笔记 118. 杨辉三角
8、 Kubernetes network and load balancing
Shell basic concepts and variables
Databinding+livedata can easily realize skin changing without restart
[embedded C foundation] Part 3: constants and variables