CICD简单介绍

CICD概述

持续集成

传统软件开发流程:

  1. 项目经理给你们分配模块开发任务给开发人员(项目经理-开发)
  2. 每个模块单独开发完毕(开发),单元测试(测试)
  3. 开发完毕后,集成部署到服务器(测试、运维)
  4. 测试出现问题,提交 bug,开发继续修复 bug(开发)
  5. bug 修改完毕,继续提交测试...

问题:

  1. 模块之间依赖负载,集成部署经常出问题
  2. 测试人员经常在等待...
  3. 按时交付也会出问题

思考:

  1. 测试时间能否提前(开发一提交代码,问题就能直接暴露出来:自动化测试)
  2. 人工集成部署 ( 能否使用自动化工具构建 )

持续集成:简称 CI

思想:每天要多次将代码合并到主干,并进行集成,测试,这样就可以提早发现错误,进行修正。持续集成也属于 DevOps。

持续集成的好处:

  • 自动化集成部署,提高了集成效率。
  • 更快的修复问题。
  • 更快的进行交付。
  • 提高了产品质量。

持续集成流程:

什么是DevOps

DevOps 是一种思想或方法论,它涵盖开发、测试、运维的整个过程!

DevOps 强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作。

强调通过自动化的方法管理软件变更,软件集成。

使软件从构建到测试、发布更加快捷、可靠,最终按时交付软件。

公司项目开发大概的流程,看看是如何一步一步操作的:

为什么当今大公司一定要使用DevOps

DevOps 这种软件开发方法,涉及到软件整个开发生命周期,这些活动只能在 DevOps 中实现,而不是敏捷或瀑布流。

DevOps 是在较短的开发周期内开发高质量软件的首选方法,同时可以提高客户满意度。

这就是为什么顶级互联网公司选择 DevOps 作为其业务目标的前进方向。

如果你是一名开发工程师:学习 DevOps,让你成为更加优秀的IT工程师

如果你是一名运维工程师:应用 DevOps 必将,简化你的工作流程,提高你的工作效率

如果你是一名架构师:DevOps 是你在实践中必须拥有的技术能力

如果你是一个跳槽者:了解 DevOps 必将有助于你找到高薪工作

如何落地实现DevOps这种理念

DevOps 兴起于2009 年,近年来由于云计算、互联网的发展,促进了DevOps的基础设施及工具链的发展,涌现了一大批优秀的工具,这些工具包括开发,测试,运维的各个领域,例如:GitHub,Git/svn,Docker、Jenkins、HudSon、Ant/Maven/Gradle、QUnit、JMeter等,看下图:

东西太多,不可能全部学完,按需学习即可,基本上学会一个,在学习其它的也会非常轻松加愉快

测试、部署的逻辑只需要写一遍,就可以自动运行了。

相关推荐
一只拉古2 天前
DevOps 的 Linux 基础(第一部分)
linux·自动化运维·devops
运维开发王义杰2 天前
YAML:锚点深度解析,告别重复,拥抱优雅的配置艺术
ci/cd·gitlab
SirLancelot12 天前
K8s-kubernetes(二)资源限制-详细介绍
微服务·云原生·容器·kubernetes·k8s·devops·kubelet
数据智能老司机4 天前
AI 原生软件交付——混沌工程与服务可靠性
aigc·devops·aiops
数据智能老司机4 天前
基于 Kubernetes 的平台工程——云原生应用的挑战
云原生·kubernetes·devops
数据智能老司机4 天前
基于 Kubernetes 的平台工程——Kubernetes 上的平台化浪潮
kubernetes·云计算·devops
苦逼IT运维5 天前
Jenkins + SonarQube 从原理到实战三:SonarQube 打通 Windows AD(LDAP)认证与踩坑记录
运维·服务器·windows·docker·云计算·jenkins·devops
朱小弟cs65 天前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops
无名咸鱼6 天前
Git与CI/CD相关知识点总结
git·ci/cd
数据智能老司机6 天前
AI 原生软件交付——发布到生产
aigc·devops·aiops