当前位置:网站首页>Continuous (integration -- & gt; delivery -- & gt; deployment)
Continuous (integration -- & gt; delivery -- & gt; deployment)
2022-07-28 13:41:00 【51CTO】
General process of software development

It can be seen from the above figure 「 Continuous integration (Continuous Integration)」、「 Continuous delivery (Continuous Delivery)」 and 「 Continuous deployment (Continuous Deployment)」 The difference between these three concepts is based on the persistence of implementation in the software development process , It is divided according to the different stages of Automation .
1. Continuous integration :
Continuous integration (Continuous integration), abbreviation CI
Continuous integration refers to the delivery of the part of software personal development to the whole part of software , Integrate frequently to find errors faster .

CI You need to have these :
- Comprehensive automated testing . This is continuous integration of practice & The foundation of continuous deployment , meanwhile , Choosing the right automated testing tool is also extremely important ;
- Flexible infrastructure . Containers , The existence of virtual machines allows developers and QA People don't have to go through a lot of trouble ;
- Version control tools . Such as Git,CVS,SVN etc. ;
- Tools for automated build and software release processes , Such as Jenkins,flow.ci;
- feedback mechanism . Such as building / The failure of the test , Can quickly feedback to the relevant person in charge , To get a more stable version as soon as possible .
The benefits of continuous integration
- “ Fast failure ”, Testing without risk to the product , And respond quickly ;
- Minimize risk , Reduce the cost of fixing error code ;
- Automate repetitive manual processes , Let engineers focus more on code ;
- Keep deploying frequently , Quickly build deployable Software ;
- Improve the visibility of the project , Make it easy for team members to understand the progress and maturity of the project ;
- Enhance developers' confidence in software products , Help build a better engineer culture .
2. Continuous delivery :
Continuous delivery (Continuous delivery) refer to , Frequently put new versions of the software , Deliver to quality team or user , For review . If the review is passed , The code goes into production .
Continuous delivery can be seen as the next step of continuous integration . It emphasizes , No matter how it's updated , Software can be delivered anytime, anywhere .
Continuous delivery is based on continuous integration , Deploy the integrated code to a more realistic environment 「 Class production environment 」(production-like environments) in . Continuous delivery takes precedence over software deployment throughout the product lifecycle , Built on a high level of automation and continuous integration .

The benefits of continuous delivery
The advantages of continuous delivery and continuous integration are very similar :
- Fast release . Be able to respond to business needs , And realize software value faster .
- code -> test -> go online -> Frequent iterations of delivery shorten , And get quick feedback ;
- High quality software release standards . Standardize the whole delivery process 、 repeatable 、 reliable ,
- Visualization of the progress of the whole delivery process , Make it easier for team members to understand project maturity ;
- A more advanced way of teamwork . From demand analysis 、 The user experience of the product is interaction Design 、 Development 、 test 、 O & M and other roles cooperate closely , Compared to the traditional waterfall software team , Less waste .
3. Continuous deployment :
Continuous deployment is when the delivered code passes the review , Automatically deploy to the production environment . Continuous deployment is the highest stage of continuous delivery . It means , All changes that have passed a series of automated tests will be automatically deployed to the production environment . It can also be called “Continuous Release”.

Continuous deployment is an ideal workflow
“ Developers submit code , Continuous integration server to get code , Perform unit tests , Decide whether to deploy to the rehearsal environment based on the test results , If successfully deployed to the rehearsal environment , Conduct the overall acceptance test , If the test passes , Automatically deploy to the production environment , The whole process is automatic and efficient .”
The benefits of continuous deployment
The main benefits of continuous deployment are , New capabilities can be deployed relatively independently , And can quickly collect feedback from real users .
Continuous integration (Continuous Integration)、 Continuous delivery (Continuous Delivery) and Continuous deployment (Continuous Deployment) Provides an excellent DevOps Environmental Science , For the whole team , The benefits go hand in hand with the challenges . in any case , Frequent deployment 、 Rapid delivery and test process automation will become an important part of software engineering in the future .
DevOps:Development and Operations The combination of , You can put DevOps As the development of ( Software Engineering )、 Technical operations and quality assurance (QA) The intersection of the three .

Reference article :
http://www.jianshu.com/p/2c6ebe34744a
http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

author : Lingyejun
If you like or want to see more of my articles , My official account of WeChat 《 Lingyejun 》.
Please keep the source and signature when reprinting the article , Otherwise, the right to pursue legal responsibility is reserved .
边栏推荐
- Three men "running away" from high positions in the mobile phone factory
- 【架构】评分较高的三本微服务书籍的阅读笔记
- .NET桌面开发的一些思考
- C语言:顺序存储结构的快速排序
- 少儿编程 电子学会图形化编程等级考试Scratch二级真题解析(判断题)2022年6月
- Array, string de duplication
- 用非递归的方法实现二叉树中的层遍历,先序遍历,中序遍历和后序遍历
- 面经整理,助力秋招,祝你称为offer收割机
- org.apache.ibatis.exceptions.TooManyResultsException的异常排查过程
- 屈辱、抗争、逆转,三十年,中国该赢微软一次了
猜你喜欢

jar包

I'm bald! Who should I choose for unique index or general index?

从手机厂高位“出走”的三个男人

Some thoughts on.Net desktop development

leetcdoe-342. 4的幂

.NET桌面开发的一些思考

拥有游戏的一部分,写在我的世界禁用NFT之后

倒计时 2 天!2022 中国算力大会:移动云邀您共见算力网络,创新发展

Realize the mutual value transfer between main window and sub window in WPF
![[error] after logging in to another machine using SSH, you find that the hostname is still yourself | unable to access yarn8088](/img/81/641a5b3445534fc3b8c87ee6deaa64.png)
[error] after logging in to another machine using SSH, you find that the hostname is still yourself | unable to access yarn8088
随机推荐
Jenkins -- continuous integration server
Volcanic stone investment Zhang Suyang: hard technology, the relatively certain answer in the next 10 years
The difference between sessionstorage, localstorage and cookies
ES6 null merge operator (?)
Rust from introduction to mastery 01 introduction
PHP generates random numbers (nickname random generator)
Better and more modern terminal tools than xshell!
Vditor 渲染器如何做到服务端渲染(SSR)?
Org.apache.ibatis.exceptions.toomanyresultsexception
数据库系统原理与应用教程(062)—— MySQL 练习题:操作题 32-38(六)
How much do you know about JVM memory management
酷炫操作预热!代码实现小星球特效
国产口服新冠药阿兹夫定安全吗?专家权威解读
C语言:优化后的归并排序
Chapter 6 提升
倒计时 2 天!2022 中国算力大会:移动云邀您共见算力网络,创新发展
Go language - Application of stack - expression evaluation
Debezium series: major changes and new features of 2.0.0.beta1
接口调不通,如何去排查?没想到10年测试老鸟栽在这道面试题上
PHP生成随机数(昵称随机生成器)