当前位置:网站首页>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
边栏推荐
- kubernetes集群命令行工具kubectl
- HJ明明的随机数
- Application of XOR. (extract the rightmost 1 in the number, which is often used in interviews)
- 打新债注册开户靠谱吗?安全吗?
- Redis implements distributed locks
- Ice - resources
- Airflow2.1.1 summary of the pits stepped on in actual combat!!
- How to use redis to solve concurrency problems
- LeetCode之三步问题
- ES6 use of return in arrow function
猜你喜欢

Configuring multiple instances of MySQL under Linux

ROS 笔记(08)— 服务数据的定义与使用

Redis cerebral fissure

Design of DSP image data stream

Rediscluster cluster mode capacity expansion node

SOC clock configuration

Recommended system series (Lecture 5): Optimization Practice of sorting model

SLAM中常用的雅克比矩阵J

Kubernetes cluster command line tool kubectl

22/02/14 study notes
随机推荐
8 figures | analyze Eureka's first synchronization registry
Redis uses sentinel master-slave switching. What should the program do?
Localization SoC development plan
Conversion between HJ integer and IP address
Understanding of OPC protocol
HJ explicit random number
nlp序列完全可以模拟人脑智能
Section 9: dual core startup of zynq
Static resource compression reduces bandwidth pressure and increases access speed
MySQL installation and environment variable configuration
Section VII starting principle and configuration of zynq
三角变换公式
Software design of resistance test board
Ice - resources
HJ prime factor
股票炒股注册开户靠谱吗?安全吗?
SQL master-slave replication setup
Eslint 语法监测关闭
Resizing node of rediscluster cluster cluster mode
Software design of power control board