当前位置:网站首页>Devops learning notes (II)
Devops learning notes (II)
2022-06-24 01:46:00 【Act】
I learned from the last article DevOps Of the four knowledge systems “ Agile management ”(Scrum frame )、“ Lean management ”( Lean Kanban ), Continue today “ Continuous delivery ” Learning from .
First, let's understand the definition of continuous delivery .
Continuous delivery ( English :Continuousdelivery, Abbreviation for CD), It's a software engineering technique , Allow the software product production process to be completed in a short period of time , To ensure that the software can be stable 、 Keep it in a state that can be released at any time . Its goal is to build software 、 Testing and publishing becomes faster and more frequent , This approach can reduce the cost and time of software development , Reduce the risk . —— Excerpt from Baidu Encyclopedia
From this definition , We can see three characteristics of continuous delivery : Short production cycle 、 Stable release 、 Continuous release .
From the extension of these three characteristics , The whole process of continuous delivery is very similar to the concept of manufacturing production line . To reduce production costs in manufacturing , Increase product output rate , Improve product quality , Formed the concept of manufacturing line . How did the manufacturing line come into being ?
20 At the beginning of the century , American Henry . Ford first adopted the assembly line production method . In his factory , Specialized division of labor is very detailed , Only one production unit has as many processes as 7882 Kind of , In order to improve the labor efficiency of workers , Ford tried and tried , Identify the workers needed for an assembly line , And the distance between each process . thus , The assembly time of each car chassis ranges from 12 Hours 28 The minutes are shortened to 1 Hours 33 branch , And throughout the production line , Can grasp the product quality status in real time , The risk of bad products is greatly reduced .
Return to the information production process , In the past, the process of program development in waterfall management projects started from requirements planning → Software code programming → unit testing → Integration testing → Development environment deployment → Code release → Operation and maintenance , The period is generally calculated on a monthly basis , And it can only be delivered to users after all development tests are completed , The middle time span is large , Business requirements change quickly , Often the final product can not fully meet the needs of customers , This leads to the failure of many projects .
If the production line is combined with software delivery , There is a continuous delivery pipeline , That is to say CI/CD/CO( Continuous integration - Continuous delivery - Continuous operation ).
In order to continuously release, in addition to the delivery pipeline , Another important thing is automation , Including the automatic construction of program code 、 Automatic function test 、 Automated non functional testing 、 Automated deployment, etc . Because the delivery cycle is shortened from year to quarter , And then monthly , Another week , Even to the day of delivery , It means that the original code is submitted 、 test 、 The frequency of deployment should also be increased to days . It turns out that only the deployment before the program goes online , Do it every day , It is bound to require a lot of automatic upgrading of work , Only in this way can there be the feasibility of continuous delivery .
According to the concept of continuous delivery , To achieve full automation from code to operation , The corresponding system can be used to manage and realize . Here we introduce the software based on open source platform ,Git: Code version control ,GitLab: Code warehouse ,Maven:Java Language construction ;Nexus : Product warehouse ,JUnit : unit testing ,Sonarqube : Code quality scanning ,Docker : Containers ,Harbor :docker Mirror warehouse ,Jenkins : Process planning ,Kubernetes : Service deployment .
In the process of continuous delivery , Through local development 、 Integrated development 、 test 、 pre-release 、 Continuous release of formal environment and rapid feedback . Improve code quality through continuous feedback .
After the local developer completes the unit test , Submit code to the integration environment , You will receive the result of integration feedback ; No problem with program integration , Continue to commit back to the test environment , Start testing functionality and non functionality , Test defects will be directly fed back to the developers for processing ; After passing the test, continue to submit to the production environment , After deployment , Through the user's use of feedback program operation defects and system optimization requirements , Accordingly, the whole delivery process is traversed again , After tuning, release and launch , Achieve program code quality management .
After learning about continuous delivery , How to build and deploy the pipeline of continuous delivery ? First of all , Model the value stream and create a simple working framework ; second , Automate the build and deployment process , This is also the most obvious step , Automating build and deployment can significantly reduce the cycle of program release ; Third , Automate unit testing and code analysis , It is helpful to carry out quality analysis of program code and the whole system ; Fourth , Automate acceptance testing ; The fifth , Automate publishing .
边栏推荐
- Tcapulusdb Jun · industry news collection
- [JS reverse hundred examples] md5+aes encryption analysis of an easy payment password
- [SQL injection 13] referer injection foundation and Practice (based on burpseuite tool and sqli labs less19 target platform)
- I, a 27 year old female programmer, feel that life is meaningless, not counting the accumulation fund deposit of 430000
- How to access the server through the fortress machine? What if the fortress cannot access the server?
- How to implement NSQ delay streaming technology in easycvr?
- EasyPlayer. JS play m3u8 error net:: err_ EMPTY_ Response, how to solve it?
- How to develop the industrial Internet platform?
- Online and offline integrated operation of channel sales system in the home furnishing industry to promote product update and iteration
- How to build high quality and high brand websites what should be paid attention to in the construction of enterprise websites
猜你喜欢

It's too difficult for me. Ali has had 7 rounds of interviews (5 years of experience and won the offer of P7 post)
![[SQL injection 12] user agent injection foundation and Practice (based on burpsuite tool and sqli labs LESS18 target machine platform)](/img/c8/f6c2a62b8ab8fa88bd2b3d8f35f592.jpg)
[SQL injection 12] user agent injection foundation and Practice (based on burpsuite tool and sqli labs LESS18 target machine platform)

I, a 27 year old female programmer, feel that life is meaningless, not counting the accumulation fund deposit of 430000
![[SQL injection 13] referer injection foundation and Practice (based on burpseuite tool and sqli labs less19 target platform)](/img/b5/a8c4bbaf868dd20b7dc9449d2a4378.jpg)
[SQL injection 13] referer injection foundation and Practice (based on burpseuite tool and sqli labs less19 target platform)
随机推荐
什麼是養老理財?養老理財產品有哪些?
[read together] Web penetration attack and defense practice (I)
Qu'est - ce que le financement des pensions? Quels sont les produits financiers pour les personnes âgées?
Collation of commonly used glusterfs commands
Technology sharing | Clickhouse cluster's way of expanding replicas under sharding
It's too difficult for me. Ali has had 7 rounds of interviews (5 years of experience and won the offer of P7 post)
2、 Shell position variable
How about speech synthesis? Is speech synthesis effective?
Easynvr background channel list timing request touchstreamclient interface optimization
November 15, 2021: add four numbers II. Here are four integer arrays nums1, num
Eight common errors in programming
[tcapulusdb knowledge base] how to delete a table in tcapulusdb table management?
Introduction to easycvr interfacing with Huawei IVS subscription camera and user change request interface
Moment. JS how to use epoch time to construct objects
Railway patrol system - Railway Intelligent Patrol communication system
[technical grass planting] look what I did with my server!
Logistics industry supplier collaborative management platform supplier life cycle management to optimize logistics costs
Disruptor note 2: disruptor class analysis
Tke cluster setup linkerd2
How to build a practical website and how to operate after the website goes online