当前位置:网站首页>Introduction to Devops Basics
Introduction to Devops Basics
2022-06-28 08:00:00 【m0_ fifty-nine million four hundred and thirty thousand one hun】
List of articles
Preface
DevOps(Development and Operations The combination of the words ) It's a kind of emphasis “ Software developer (Dev)” and “IT Operation and maintenance technicians (Ops)” Communication and cooperation between cultures 、 Sports or practices . Through automation “ Software delivery ” and “ Architectural change ” The process of , To make the build 、 test 、 Distributing software can be faster 、 Frequent and reliable .
One 、 Software Development Overview
1. Software development lifecycle
The software development life cycle is also called SDLC(Software Development Life Cycle), It's a collection of plans 、 Development 、 A collection of testing and deployment processes . As shown in the figure below :

2. Software development waterfall model
- Waterfall model is the most famous and commonly used software development model .
- Waterfall model is a series of software development process . It is multiplied by manufacturing . A highly structured process flows in one direction , It's kind of like a production line .
- At the beginning of the waterfall model , There are no other developed models , There are a lot of things that rely on developers to guess 、 To develop . Such a model is only applicable to those simple software development , But it is not suitable for the current development .
- Software development waterfall model ( Tradition )------> Assembly line work ------> Demand analysis ----- Design ---- Realization ----- test ---- Release ---- Collect feedback
| advantage | Inferiority |
|---|---|
| Easy to use and understand The division of each stage is completely fixed , | A lot of documents are generated between stages , It greatly increased the workload |
| After the completion of the current phase , You just need to focus on the next phase | Because the development model is linear , Users can only see the development results at the end of the whole process , This increases the risk of development |
| Provides a phased inspection node for the project | The outstanding disadvantage of waterfall model is that it doesn't adapt to the changes of users' needs |
3. Agile development of software
The core of agile development is Iterative development And Incremental development
3.1 Iterative development
- The traditional way of development is to adopt a large cycle ( Like a year ) Development , The whole process is one " Great development ",
- Iterative development divides the development process into several small cycles , Namely a " Great development " Become many times " Small development ", Do it step by step
3.2 Incremental development
- Every version of the software , Will add a complete function that users can perceive . in other words , Divide iterations by what's new .
give an example :
Real estate company develops a 10 The community of the building . If incremental development mode is adopted , The company can finish manufacturing 1 Delivery at building No 1 building , Finished 2 Delivery at building No 2 building , And so on , In this way, risks can be shared , Return money . It is also beneficial to the improved buildings .
3.3 How agile development iterates
Although agile development divides software development into multiple iterations , But it also requires , Each iteration is a complete software development cycle , Its core idea -------》< decoupling >
3.4 Benefits of agile development
Early delivery
The first benefit of agile development , Early delivery , So as to greatly reduce the cost .
Or the real estate company in the above section , If you follow the traditional " Waterfall development mode ", First dig 10 Foundation of building 、 Repopulation framework 、 Then set up the roof , Each phase starts after the previous phase is completed , It may take two years for one-time delivery 10 building . in other words , If pre-sale is not considered , The project must wait until two years later In order to collect the money .
Agile development is to deliver Building 1 in six months , One building will be delivered every two months . therefore , Half a year 10%, There will be cash flow every month , The financial pressure will be greatly reduced .
Reduce risk
The second benefit of agile development is , Timely understanding of market demand , Reduce the risk of product inapplicability .
Please think about it , In which case, the loss is relatively small ,10 After the buildings are built , Only to find that they can't sell it , It's better to build the first building , I found that I couldn't sell it , So as to improve or stop the construction of the rear 9 building ?
Two 、 Overview of continuous integration
1. What is continuous integration
- Continuous integration refers to the frequent integration of code into the trunk , The sequel becomes the goal , Let the product iterate quickly , Guarantee quality
- Before reaching the trunk , Must automate testing , As long as one test case fails , Not integrable ( Avoid cost and time )
2. Continuous integration process
- Submit
The first step in the process , It's developers who submit code to the code repository . All subsequent steps begin with a commit of native code - test ( The first round )
Code warehouse for commit The operation configures the hook (hook), Just submit the code or merge it into the trunk , Will automate the test - structure
Pass the first round of testing , The code can be merged into the trunk , Even if it can be delivered ;
After delivery , Just build it first (build), Enter the second round of testing ;
Building , It refers to converting the source code into real code that can run , For example, installation dependency , Allocate resources ( Style sheets 、JS Script 、 picture ) wait - test ( The second round )
Build complete , The second round of testing is about to take place . If the first round has covered all the tests , The second round can omit , Of course , At this time, the construction step should also move to the front of the first round of testing - Deploy
After the second round of testing , The current code is a version that can be deployed directly (artifact). Package all the files in this version (tar filename.tar * ) The archive , To the production server - Roll back
Once there is a problem with the current version , Roll back to the build result of the previous version . The easiest way is to modify the symbolic links , Point to the directory of the previous version .
3. Components of continuous integration
- An automated build process , From detection code , compile , test , result 、 All tests are done automatically
- A code repository , Version control software is required to ensure code maintainability , In general use SVN/GIT
- Generally, code cloud is used Gitee The domestic github/ Generally, private warehouses are built /
- A continuous integration server ,jenkins complete
- Development ------SVN/GIT-----ci/cd compile 、 structure 、 Deploy ------ Test environment ----- Operation and maintenance ( transfer 【 Data migration 】 In billions With PB Level ) Production environment

4. advantage
- Reduce risk 、 Repair costs less
- Health testing
- Reduce repetitive work
- The deployment unit package is provided to facilitate the unit testing of test engineers
- Improve the quality
边栏推荐
- Airflow2.1.1 summary of the pits stepped on in actual combat!!
- Redis persistence problem and final solution
- A single node obtains the lock lock of the order number
- Kubernetes theoretical basis
- Sword finger offer|: linked list (simple)
- 你了解TCP協議嗎(二)?
- kubernetes集群命令行工具kubectl
- Redis one master multi slave cluster setup
- ES6 use of return in arrow function
- Ambari (VIII) --- ambari integrated impala document (valid for personal test)
猜你喜欢

MySQL implements transaction persistence using redo logs
![[JS] - [DFS, BFS application] - learning notes](/img/77/6f8d4ebe1d0b3ba036aea9358de793.png)
[JS] - [DFS, BFS application] - learning notes

Redis persistence problem and final solution

Section 8: DMA of zynq

【尚品汇】项目笔记

Software design of power control board

ACM notes

Online WPS tool
![[shangpinhui] project notes](/img/aa/043dd16c20348f1f80ca5e9e4ad330.png)
[shangpinhui] project notes

asp. Net datalist when there are multiple data displays
随机推荐
Hj21 simple password
Unity UI shadow component
Configuring multiple instances of MySQL under Linux
【js】-【节流、防抖函数】
Redis persistence problem and final solution
Airflow2.1.1 ultra detailed installation document
本周二晚19:00战码先锋第8期直播丨如何多方位参与OpenHarmony开源贡献
HJ explicit random number
Localization SoC development plan
Recommended system series (Lecture 5): Optimization Practice of sorting model
[JS] - [DFS, BFS application] - learning notes
SOC clock configuration
MySQL two table connection principle (understand join buf)
es数据导出csv文件
SQL Master slave Replication Build
Ice - resources
【尚品汇】项目笔记
你了解TCP协议吗(二)?
sql主從複制搭建
Online WPS tool