DevOps全流程

news/2025/2/27 10:48:32

DevOps全流程

面试速记

DevOps 是一种融合开与运维的软件研发实践方法,规划从需求调研到开发,测试,部署等全流程,通过Jenkins 和Kubernetes 等自动化工具集成部署实现从代码编写到部署的无缝衔接,加速软件交付周期。我在实习中涉及到的工作有参与需求评审和开发排期会议,独立开发测试,并通过流水线部署与测试合作完善系统。

DevOps 是一种软件开发和运维的实践方法,是为了实现更高效、快速、可靠的软件交付。DevOps 的核心理念是融合软件开发与测试部署的流程,从而实现从代码编写到部署的无缝衔接。

主要阶段

规划

  • 需求收集:与业务部门沟通,收集需求和反馈。–>客户提出优化需求,市场部门调研
  • 需求分析:确定需求的可行性和优先级。–>开会探讨需求上是否合理,技术上是否可以实现
  • 制定计划:制定项目计划、里程碑和交付时间表。–>开发,测试,部署排期

开发

  • 代码编写:开发人员根据需求编写代码。
  • 版本控制:使用 Git 等工具进行代码版本管理,确保代码的可追溯性和协作开发。

构建

  • 自动化构建:使用构建工具(如 Maven、Gradle等)将代码编译成可部署的软件包。
  • 持续集成(CI):通过自动化工具(如 Jenkins)实现代码提交后的自动构建和测试。
  • –>通过流水线部署代码到dev测试环境进行测试

测试

  • 单元/集成测试:开发人员编写和运行单元测试,确保代码模块的正确性和测试多个模块之间的交互是否正常。–>开发人员在开发阶段就做好接口测试及模块调用测试
  • 性能测试:评估系统的性能是否满足要求。
  • 安全测试:检查系统是否存在安全漏洞。–>测试人员对系统整体进行测试,找出开发遗漏部分

部署

  • 自动化部署:使用部署工具将软件包部署到服务器。
  • 持续部署(CD):通过自动化流程将通过测试的代码自动部署到生产环境。

运维

  • 日志管理:收集、分析和存储系统日志,便于问题排查。
  • 故障响应:快速响应和处理系统故障,确保系统的高可用性。–>出现故障通过日志记录报错迅速排查bug

反馈

  • 反馈优化:收集用户对系统的反馈,了解用户体验。根据反馈不断优化开发和运维流程。

DevOps 的关键实践:

  1. 持续集成(CI):频繁地将代码合并到主分支,并自动运行构建和测试。
  2. 持续部署(CD):自动将通过测试的代码部署到生产环境。
  3. 微服务架构:将系统拆分为多个独立的微服务,便于开发和部署。
  4. 容器化:使用容器技术(如 Docker)实现应用的快速部署和隔离。

http://www.niftyadmin.cn/n/5869980.html

相关文章

Redis分布式缓存面试题

为什么使用分布式缓存? 1. 提升性能 降低延迟:将数据缓存在离应用更近的地方,减少数据访问时间。减轻数据库压力:缓存频繁访问的数据,减少对后端数据库的请求,提升系统响应速度。 2. 扩展性 水平扩展&a…

计算机网络之传输层(传输层的功能)

一、数据分段与重组 传输层从会话层接收数据,并将其分割成较小的数据段,以适应网络层的最大传输单元(MTU)限制。在目的端,传输层负责将这些数据段重新组合成原始数据,确保数据的完整性和正确性。 二、端口…

设计模式-行为型-责任链模式

1. 责任链模式概述 责任链模式(Chain of Responsibility Pattern) 是一种行为型设计模式,它允许多个对象依次处理请求,形成一条处理链。每个对象都包含对下一个对象的引用,如果它无法处理请求,则将请求传递…

支持selenium的chrome driver更新到133.0.6943.141

最近chrome释放新版本:133.0.6943.141 如果运行selenium自动化测试出现以下问题,是需要升级chromedriver才可以解决的。 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only s…

JAVA-如何理解Mysql的索引

一、索引的概念 索引是一种特殊的文件,包含着对数据表里所有记录的引用(指针/地址)。可以对表中的一列或多列创建索引, 并指定索引的类型,各类索引有各自的数据结构实现。 二、索引是什么,用来干嘛 数据库中的表、数据、索引之间的…

IO 和NIO有什么区别?

IO 与 NIO 的区别详解 Java 中的 IO(Input/Output) 和 NIO(New IO 或 Non-blocking IO) 是两种不同的输入输出处理机制,主要区别体现在设计模型、性能优化和应用场景上。以下是详细对比: 1. 阻塞与非阻塞模…

【C++笔记】C++11智能指针的使用及其原理

【C笔记】C11智能指针的使用及其原理 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】C11智能指针的使用及其原理前言1.智能指针的使用场景分析2. RAII和智能指针的设计思路3. C标准库智能指针的使用4. 智能指针的原…

CentOS 7 日志切割实战:Logrotate 详解与配置指南

文章目录 CentOS 7 日志切割实战:Logrotate 详解与配置指南Logrotate 简介安装与配置文件确认安装配置文件结构 核心配置参数详解实战配置案例案例1:Nginx 日志切割案例2:按大小切割应用日志案例3:Java 程序日志 test.log 切割配置…