当前位置:网站首页>【云原生】DevOps(一):DevOps介绍及Code工具使用
【云原生】DevOps(一):DevOps介绍及Code工具使用
2022-07-07 06:33:00 【是Dream呀】

前言:
当下云原生火爆全网,云原生充分利用了云计算弹性、敏捷、资源池和服务化特性,改变云端应用的设计、开发、部署和运行模式,为我们大大提供了便利,本篇文章将带大家走进云原生的世界,揭开它的神秘面纱。
入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!
最后,愿我们都能在看不到的地方闪闪发光,一起加油进步
DevOps
一、DevOps介绍
软件开发最开始是由两个团队组成:
这看似两个目标不同的团队需要协同完成一个软件的开发。
在开发团队指定好计划并完成coding后,需要提供到运维团队。
运维团队向开发团队反馈需要修复的BUG以及一些需要返工的任务。
这时开发团队需要经常等待运维团队的反馈。这无疑延长了事件并推迟了整个软件开发的周期。
会有一种方式,在开发团队等待的时候,让开发团队转移到下一个项目中。等待运维团队为之前的代码提供反馈。
可是这样就意味着一个完整的项目需要一个更长的周期才可以开发出最终代码。
基于现在的互联网现状,更推崇敏捷式开发,这样就导致项目的迭代速度更快,但是由于开发团队与运维团队的沟通问题,会导致新版本上线的时间成本很高。这又违背的敏捷式开发的最初的目的。
那么如果让开发团队和运维团队整合到成一个团队,协同应对一套软件呢?这就被称为DevOps。
DevOps,字面意思是Development &Operations的缩写,也就是开发&运维。
虽然字面意思只涉及到了开发团队和运维团队,其实QA测试团队也是参与其中的。
网上可以查看到DevOps的符号类似于一个无穷大的符号
| DevOps |
|---|
![]() |
这表明DevOps是一个不断提高效率并且持续不断工作的过程
这表明DevOps是一个不断提高效率并且持续不断工作的过程
DevOps的方式可以让公司能够更快地应对更新和市场发展变化,开发可以快速交付,部署也更加稳定。
核心就在于简化Dev和Ops团队之间的流程,使整体软件开发过程更快速。
整体的软件开发流程包括:
- PLAN:开发团队根据客户的目标制定开发计划
- CODE:根据PLAN开始编码过程,需要将不同版本的代码存储在一个库中。
- BUILD:编码完成后,需要将代码构建并且运行。
- TEST:成功构建项目后,需要测试代码是否存在BUG或错误。
- DEPLOY:代码经过手动测试和自动化测试后,认定代码已经准备好部署并且交给运维团队。
- OPERATE:运维团队将代码部署到生产环境中。
- MONITOR:项目部署上线后,需要持续的监控产品。
- INTEGRATE:然后将监控阶段收到的反馈发送回PLAN阶段,整体反复的流程就是DevOps的核心,即持续集成、持续部署。
为了保证整体流程可以高效的完成,各个阶段都有比较常见的工具,如下图:
| 软件开发过程&涉及工具 |
|---|
![]() |
最终可以给DevOps下一个定义:DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。
自动化的工具协作和沟通来完成软件的生命周期管理
二、Code阶段工具
在code阶段,我们需要将不同版本的代码存储到一个仓库中,常见的版本控制工具就是SVN或者Git,这里我们采用Git作为版本控制工具,GitLab作为远程仓库。
2.1 Git安装
https://git-scm.com/(傻瓜式安装)
2.2 GitLab安装
单独准备服务器,采用Docker安装
查看GitLab镜像
docker search gitlab拉取GitLab镜像
docker pull gitlab/gitlab-ce准备docker-compose.yml文件
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'启动容器(需要稍等一小会……)
docker-compose up -d访问GitLab首页
首页

查看root用户初始密码
docker exec -it gitlab cat /etc/gitlab/initial_root_password初始密码

登录root用户
登录成功后跳转页面

第一次登录后需要修改密码
修改密码

搞定后,即可像Gitee、GitHub一样使用。
【系列好文推荐】
Python Web开发一:Web开发简介
Python Web开发二:Django的安装和运行
Python Web开发(三):HTTP请求的url路由
欢迎订阅本专栏:零基础学Python 系列课程是针对Python入门&进阶打造的一全套课程,在这里,我将会一 一更新Python基础语法、Python爬虫、Web开发、 Django框架、Flask框架以及人工智能相关知识,帮助你成为Python大神,如果你喜欢的话就抓紧收藏订阅起来吧~
好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
如果你喜欢的话,就不要吝惜你的一键三连了~

️️ ️ 商务合作|交流学习|粉丝福利|Python全套资料️ ️ ️ 欢迎联系~
边栏推荐
- Some pit avoidance guidelines for using Huawei ECS
- Synchronized underlying principle, volatile keyword analysis
- Simulation volume leetcode [general] 1567 Length of the longest subarray whose product is a positive number
- 【SVN】SVN是什么?怎么使用?
- Interview question: general layout and wiring principles of high-speed PCB
- How to use Arthas to view class variable values
- 使用Typora编辑markdown上传CSDN时图片大小调整麻烦问题
- C语言指针(中篇)
- C language for calculating the product of two matrices
- Simulation volume leetcode [general] 1609 Parity tree
猜你喜欢

Postman interface test (II. Set global variables \ sets)

Unityshader introduction essentials personal summary -- Basic chapter (I)

MySQL common statements
![[istio introduction, architecture, components]](/img/2b/f84e5cdac6ed9b429e053ffc8dbeb0.png)
[istio introduction, architecture, components]

Mysql数据库-锁-学习笔记

Reading notes of pyramid principle

C language pointer (Part 2)

Reflections on the way of enterprise IT architecture transformation (Alibaba's China Taiwan strategic thought and architecture practice)

2022-06-30 Unity核心8——模型导入

外部中断实现按键实验
随机推荐
Pytest+request+allure+excel interface automatic construction from 0 to 1 [five nails / flying Book notice]
OpenGL三维图形绘制
Output all composite numbers between 6 and 1000
寄存器地址名映射
C语言指针(习题篇)
Druid monitoring - Introduction to JMX usage and principle
DRF defines views and routes
JVM garbage collection detailed learning notes (II)
Postman interface debugging method
Analysis of Hessian serialization principle
C language pointer (Part 2)
Entity of cesium data visualization (Part 1)
C语言指针(下篇)
Locust performance test 4 (custom load Policy)
徽商期货公司评级是多少?开户安全吗?我想开户,可以吗?
Pytest+request+allure+excel interface automatic construction from 0 to 1 [familiar with framework structure]
How long does the PMP usually need to prepare for the exam in advance?
The longest ascending subsequence model acwing 1017 Strange thief Kidd's glider
[chaosblade: node disk filling, killing the specified process on the node, suspending the specified process on the node]
systemd

