当前位置:网站首页>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 .
边栏推荐
- Humiliation, resistance, reversal, 30 years, China should win Microsoft once
- 剖析 kubernetes 集群内部 DNS 解析原理
- I copied the bottom of the liquidated NFT, but was locked by opensea
- Half wave rectification light LED
- [dark horse morning post] byte valuation has shrunk to $270billion; "Second uncle" video author responded to plagiarism; Renzeping said that the abolition of the pre-sale system of commercial housing
- Fast classification of array.group() in ES6
- Auto.js enables Taobao to quickly submit orders
- ES6 null merge operator (?)
- .NET桌面开发的一些思考
- Shell基础概念和变量
猜你喜欢

org.apache.ibatis.exceptions.TooManyResultsException的异常排查过程

少儿编程 电子学会图形化编程等级考试Scratch二级真题解析(判断题)2022年6月

Operator3-设计一个operator

不用Swagger,那我用啥?

《暗黑破坏神4》PS4/PS5测试版已加入PlayStation数据库

Some thoughts on.Net desktop development

国产API管理工具Eolink太好用了,打造高效的研发利器

半波整流点亮LED

Children's programming electronic society graphical programming level examination scratch Level 2 real problem analysis (judgment question) June 2022

持续(集成-->交付-->部署)
随机推荐
Redis - Basics
Have you seen the management area decoupling architecture? Can help customers solve big problems
Rust from introduction to mastery 01 introduction
C语言:顺序存储结构的快速排序
Three men "running away" from high positions in the mobile phone factory
Half wave rectification light LED
IP电话系统和VoIP系统使用指南
Leetcode-136. numbers that appear only once
What is the optimization method of transaction and database
Org.apache.ibatis.exceptions.toomanyresultsexception
JS encapsulation at a glance
111. SAP UI5 FileUploader 控件实现本地文件上传,接收服务器端的响应时遇到跨域访问错误
《暗黑破坏神4》PS4/PS5测试版已加入PlayStation数据库
Table list filter results remain unchanged
Redis —— 基础篇
夜神模拟器抓包微信小程序
Leetcode · daily question · 1331. array sequence number conversion · discretization
C语言学生成绩管理系统详解[通俗易懂]
Unity - "synthetic watermelon" small game notes
paddleClas分类实践记录