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等,看下图:

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

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

相关推荐
INFINI Labs1 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
java·docker·eureka·devops·docker compose·console·easyserach
Juchecar1 小时前
软件工程是“伪学科”吗?
devops
fruge3 小时前
GitHub Actions CI/CD 自动化部署完全指南
ci/cd·自动化·github
极限实验室16 小时前
使用 Docker Compose 轻松实现 INFINI Console 离线部署与持久化管理
docker·devops
FJW02081418 小时前
DevOps——CI/CD持续集成与持续交付/部署的理解与部署
运维·ci/cd·devops
我就是全世界1 天前
告别手动部署!GitHub Workflow与Action完全指南:从零构建自动化CI_CD流水线
ci/cd·自动化·github
创实信息1 天前
创实信息正式成为极狐GitLab中国授权代理
ci/cd·gitlab·devops·代码管理·极狐
lijun_xiao20091 天前
DevOps(devops/k8s/docker/Linux)学习笔记-2
docker·kubernetes·devops
路由侠内网穿透.1 天前
本地部署轻量级持续集成工具 Drone CI 并实现外部访问
运维·服务器·ci/cd·远程工作
安冬的码畜日常2 天前
【JUnit实战3_22】 第十三章:用 JUnit 5 做持续集成(下):Jenkins + JUnit 5 + Git 持续集成本地实战演练完整复盘
git·测试工具·ci/cd·jenkins·集成测试·持续集成·junit5