当前位置:网站首页>[cloud native] Devops (I): introduction to Devops and use of code tool
[cloud native] Devops (I): introduction to Devops and use of code tool
2022-07-07 09:19:00 【It's dream】
Contents of this article :
Preface :
The present Cloud native is popular all over the network , Cloud Nativity makes full use of cloud computing elasticity 、 agile 、 Resource pooling and service-oriented features , Change the design of Cloud Applications 、 Development 、 Deployment and operation mode , It has greatly facilitated us , This article will Take you into the cloud native world , Uncover its mystery .
Introductory notes : This paradise never lacks genius , Hard work is your final ticket !
Last , May we all shine where we can't see , Let's make progress together
DevOps
One 、DevOps Introduce
Software development starts with two teams :
- The development plan consists of The development team Design from scratch and build the overall system . The system needs to be updated iteratively .
- Operation and maintenance team Will develop the team's Code Deploy online after testing . I hope the system can operate stably and safely .
It seems that two teams with different goals need to cooperate to complete the development of a software .
Plan and complete in the development team coding after , It needs to be provided to the operation and maintenance team .
The operation and maintenance team feeds back the problems that need to be repaired to the development team BUG And some tasks that need to be reworked .
At this time, the development team needs to often wait for the feedback of the operation and maintenance team . This undoubtedly prolongs the event and delays the whole software development cycle .
There will be a way , While the development team waits , Move the development team to the next project . Wait for the O & M team to provide feedback on the previous code .
But this means that a complete project needs a longer cycle to develop the final code .
Based on the current situation of Internet , More advocate agile development , This results in faster iterations of the project , However, due to the communication problems between the development team and the operation and maintenance team , It will lead to a high time cost for the new version to go online . This goes against the original purpose of agile development .
So if the development team and operation and maintenance team are integrated into one team , How to deal with a set of software together ? This is called DevOps.
DevOps, Literally means Development &Operations Abbreviation , That's development & Operation and maintenance .
Although the literal meaning only involves the development team and operation and maintenance team , Actually QA The test team is also involved .
You can see DevOps The symbol of is similar to the symbol of infinity
DevOps |
---|
![]() |
This shows that DevOps It's a process of improving efficiency and working continuously
This shows that DevOps It's a process of improving efficiency and working continuously
DevOps In a way that allows companies to respond more quickly to updates and market developments , Development can quickly deliver , The deployment is also more stable .
The core is simplify Dev and Ops Processes between teams , Make the overall software development process faster .
The overall software development process includes :
- PLAN: The development team makes the development plan according to the customer's goals
- CODE: according to PLAN Start the coding process , You need to store different versions of code in a library .
- BUILD: After coding , You need to build and run the code .
- TEST: After successfully building the project , You need to test whether the code exists BUG Or error .
- DEPLOY: After manual and automated testing of the code , Confirm that the code is ready to be deployed and handed over to the operation and maintenance team .
- OPERATE: The operation and maintenance team deploys the code into the production environment .
- MONITOR: After the project is deployed online , Need continuous monitoring of products .
- INTEGRATE: Then send the feedback received in the monitoring phase back to PLAN Stage , The whole iterative process is DevOps At the heart of , That is to say, to continue to integrate into 、 Continuous deployment .
In order to ensure that the overall process can be completed efficiently , There are common tools at all stages , Here's the picture :
Software development process & It's about tools |
---|
![]() |
You can finally give DevOps Next definition :DevOps The emphasis is on how to achieve software life cycle management through automated tool collaboration and communication between effective organization teams , So faster 、 More frequent delivery of more stable software .
Automated tool collaboration and communication to complete software lifecycle management
Two 、Code Stage tools
stay code Stage , We need to store different versions of the code in a repository , A common version control tool is SVN perhaps Git, Here we use Git As a version control tool ,GitLab As a remote warehouse .
2.1 Git install
https://git-scm.com/( Fool installation )
2.2 GitLab install
Prepare the server separately , use Docker install
see GitLab Mirror image
docker search gitlab
Pull GitLab Mirror image
docker pull gitlab/gitlab-ce
Get ready docker-compose.yml file
version: '3.1' services: gitlab: image: 'gitlab/gitlab-ce:latest' container_name: gitlab restart: always environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.11.11:8929' gitlab_rails['gitlab_shell_ssh_port'] = 2224 ports: - '8929:8929' - '2224:2224' volumes: - './config:/etc/gitlab' - './logs:/var/log/gitlab' - './data:/var/opt/gitlab'
Start the container ( I need to wait a minute ……)
docker-compose up -d
visit GitLab home page
home page
see root User initial password
docker exec -it gitlab cat /etc/gitlab/initial_root_password
Initial password
Sign in root user
After logging in successfully, jump to the page
You need to change your password after logging in for the first time
Change Password
When it's done , It's like Gitee、GitHub The use of .
【 A series of good articles are recommended 】
Python Web Develop a :Web Introduction to development
Python Web Development two :Django Installation and operation of
Python Web Development ( 3、 ... and ):HTTP Requested url route
Welcome to subscribe to this column : Zero basis to learn Python The series of courses is aimed at Python introduction & A full set of advanced courses , ad locum , I will be one One update Python Basic grammar 、Python Reptiles 、Web Development 、 Django frame 、Flask Framework and AI related knowledge , Help you become Python A great god , If you like it, just collect and subscribe ~
All right. , That's all I want to share with you today , See you next time !
If you like , Don't be stingy with your one key triple connection ~
️️ ️ Business cooperation | Communication and learning | Fan benefits |Python A complete set of information ️ ️ ️ Welcome to contact ~
边栏推荐
- Run can start normally, and debug doesn't start or report an error, which seems to be stuck
- JVM 垃圾回收 详细学习笔记(二)
- 串口实验——简单数据收发
- JVM garbage collection detailed learning notes (II)
- STM32 serial port register library function configuration method
- Jemter operation
- Jenkins modifies the system time
- 答案在哪里?action config/Interceptor/class/servlet
- Two schemes of unit test
- PMP certificate preparation experience sharing
猜你喜欢
【istio简介、架构、组件】
Pycharm create a new file and add author information
STM32串口寄存器库函数配置方法
PMP examination experience sharing
stm32和电机开发(从单机版到网络化)
UnityShader入门精要个人总结--基础篇(一)
Postman interface test (I. installation and use)
C language pointer (Part 2)
2020 year end summary
How to use Arthas to view class variable values
随机推荐
STM32的时钟系统
OpenGL 3D graphics rendering
Pycharm importing third-party libraries
Common short chain design methods
答案在哪里?action config/Interceptor/class/servlet
DRF defines views and routes
PMP Exam Preparation experience, seek common ground while reserving differences, and successfully pass the exam
Interpretation of MySQL optimization principle
徽商期货公司评级是多少?开户安全吗?我想开户,可以吗?
C language pointer (exercises)
Locust performance test 3 (high concurrency, parameter correlation, assembly point)
串口實驗——簡單數據收發
Analysis of Hessian serialization principle
Jenkins task grouping
DRF authentication, permissions, and flow restrictions (only for views in DRF)
Leetcode daily questions (2316. count unreachable pairs of nodes in an undirected graph)
Storage of data in memory
Serial port experiment - simple data sending and receiving
Count the number of words C language
RuntimeError: Calculated padded input size per channel: (1 x 1). Kernel size: (5 x 5). Kernel size c