DevOps全流程

DevOps全流程

面试速记

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

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

主要阶段

规划

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

开发

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

构建

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

测试

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

部署

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

运维

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

反馈

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

DevOps 的关键实践:

  1. 持续集成(CI):频繁地将代码合并到主分支,并自动运行构建和测试。
  2. 持续部署(CD):自动将通过测试的代码部署到生产环境。
  3. 微服务架构:将系统拆分为多个独立的微服务,便于开发和部署。
  4. 容器化:使用容器技术(如 Docker)实现应用的快速部署和隔离。
相关推荐
神仙别闹几秒前
基于Java+MySQL 实现(Web)日程管理系统
java·前端·mysql
黯_森2 分钟前
Java异常机制
java·后端
Harbor Lau25 分钟前
Linux常用中间件命令大全
linux·运维·中间件
A阳俊yi26 分钟前
Spring Boot日志配置
java·spring boot·后端
苹果酱056727 分钟前
2020-06-23 暑期学习日更计划(机器学习入门之路(资源汇总)+概率论)
java·vue.js·spring boot·mysql·课程设计
漫谈网络43 分钟前
基于 Netmiko 的网络设备自动化操作
运维·自动化·netdevops·netmiko
echo1754251 小时前
Apipost免费版、企业版和私有化部署详解
java
异常君1 小时前
Java 高并发编程:等值判断的隐患与如何精确控制线程状态
java·后端·代码规范
异常君1 小时前
Java 日期处理:SimpleDateFormat 线程安全问题及解决方案
java·后端·代码规范
꧁坚持很酷꧂1 小时前
Linux Ubuntu18.04下安装Qt Craeator 5.12.9(图文详解)
linux·运维·qt