DevOps全流程

DevOps全流程

面试速记

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

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

主要阶段

规划

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

开发

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

构建

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

测试

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

部署

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

运维

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

反馈

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

DevOps 的关键实践:

  1. 持续集成(CI):频繁地将代码合并到主分支,并自动运行构建和测试。
  2. 持续部署(CD):自动将通过测试的代码部署到生产环境。
  3. 微服务架构:将系统拆分为多个独立的微服务,便于开发和部署。
  4. 容器化:使用容器技术(如 Docker)实现应用的快速部署和隔离。
相关推荐
星纬智联技术17 分钟前
GEO E2E 自动化验证测试文章
运维·自动化·geo
jarreyer34 分钟前
CentOS 7 无法使用 yum 安装软件
linux·运维·centos
脆皮的饭桶1 小时前
结合使用,实现IPVS的高可用性、利用VRRP Script 实现全能高可用
运维·服务器·网络
没有bug.的程序员1 小时前
Serverless 弹性扩容引发的全线熔断:Spring Boot 启动耗时从 1s 压缩至 0.3s 的物理级绞杀
java·spring boot·kubernetes·serverless·扩容·线上
bearpping1 小时前
java进阶知识点
java·开发语言
独自破碎E1 小时前
【面试真题拆解】你知道ThreadLocal是什么吗
java·jvm·面试
kkkkatoq1 小时前
JAVA中的IO操作
java·开发语言
深蓝轨迹2 小时前
@Autowired与@Resource:Spring依赖注入注解核心差异剖析
java·python·spring·注解
不想看见4042 小时前
C++八股文【详细总结】
java·开发语言·c++
huaweichenai2 小时前
java的数据类型介绍
java·开发语言