什么年代了,还不会 CI/CD 么?

目录

[什么是 CI/CD?](#什么是 CI/CD?)

[CI/CD 对业务有哪些好处?](#CI/CD 对业务有哪些好处?)

一:确保卓越的代码质量

[二:更快的发布速度 → 更快的交付](#二:更快的发布速度 → 更快的交付)

三:自动化降低成本

四:故障隔离

五:简化回滚

六:持续反馈

七:最佳透明度和问责制

[八:提高 MTTR(平均修复时间)](#八:提高 MTTR(平均修复时间))

九:监控指标数据

[十:减少 Backlog 中的非重要缺陷](#十:减少 Backlog 中的非重要缺陷)


**本文来源:**about.gitlab.com

**作者:**Valerie Silverthorne

**译者:**极狐(GitLab) 市场部内容团队

数字时代,几乎每家公司都涉及软件业务。竞争对手、客户、投资人及员工都要求更快速地更新软件。因此,越来越多的企业拥抱现实,并为实现更高效的持续集成和交付上投入更多。

以下 10 个理由进一步阐述了为何企业需要 CI/CD。

什么是 CI/CD?


CI/CD 包括了CI(Continuous Integration,持续集成)和 CD(Continous Delivery,持续交付)两步流程,通过使用自动化力量大大简化代码研发和交付流程

  • CI 使代码集成和版本控制等研发任务更加高效,从而让软件更快上线,投入生产;

  • CD 使软件测试和部署自动化。

简而言之,CI/CD 共同构成了现代软件开发的强大引擎,让企业获益良多。

CI/CD 对业务有哪些好处?


以下是企业采用 CI/CD 的十大理由:

一:确保卓越的代码质量

在 GitLab 2021 年全球 DevSecOps 调研报告中,受访者表示实践 DevOps 的原因之一是提升代码质量,即团队需要 DevOps 功能之一是 CI/CD。因为 CI/CD 流水线提供测试自动化,研发几乎可以实时了解代码问题。"快速失败" 理念意味着团队不会在错误代码上浪费时间或资源;并且研发人员在转战其他项目时,也不会被无休止的 "修复" 请求所困扰。

节约时间、节约金钱,而且研发人员也不需要频繁进行上下文切换,换来的是 win-win!

二:更快的发布速度 → 更快的交付

对 CI/CD 收益持怀疑态度的人,请听全球金融巨头高盛公司的故事:高盛的技术部门从双周构建一次,演变到了每天构建 1000 次以上。

当讨论加速软件发布频率时,统一的 CI/CD 流水线像一个涡轮发动机。代码发布越快,就可以开发更多新代码,然后发布,以此往复。业务底线是:当成功的 CI/CD 流水线发挥作用时,昂贵的开发人员资源不会被闲置。

三:自动化降低成本

无需人工干预软件研发过程,则可以节省时间和金钱。这也就是为什么自动化是成功实践 DevOps 的基础。

CI/CD 自动化了源代码管理、版本控制、部署机制,还有很多测试工作。其中,测试可以说是最重要的。在 GitLab 2021 年的调研中,测试被认为是发版延迟的罪魁祸首

发版延迟不仅会从成本、品牌、公共关系甚至声誉的角度影响企业,对于依赖快速上市时间的企业来说也是致命的。历史上,软件测试都是手动的,且非常耗时,这也是为什么企业通常一年或半年发版一次。在现如今,企业可以随时发布,而自动化软件测试是实现这一切的关键。

四:故障隔离

在 DevOps 和 CI/CD 获得关注之前,研发团队可能知道代码中存在问题,但却苦于得知问题的准确位置。

CI/CD 及自动化测试改变了这一切。研发人员可以轻易识别问题并进行故障隔离,显著提高生产效率

五:简化回滚

CI/CD 流水线给予研发人员快速试错和快速恢复的能力。

一个简单流程就可以将代码发布到生产环境,如果发生问题,简单回滚即可。这种代码简单回滚的能力,节约了团队时间、精力以及资源,并且能够快速修复问题代码。

六:持续反馈

作为 DevOps 平台的一部分,统一的 CI/CD 流程让团队中的每个人(包括业务利益相关者),都可以清楚获悉发生了什么、在哪儿发生以及将会出现什么问题。

这听起来很简单,但在现实中,能够提供统一工具窗口查看完整流程,是革命性的转变。

因为在过去,需要使用很多的工具来完成项目工作,以至于项目经理不得不在众多地方查看,甚至询问一众人来获取状态更新信息,研发和运维也有同样困扰。显然,这极大浪费了时间和资源,特别是在出现问题时。

七:最佳透明度和问责制

得益于持续反馈,CI/CD 流水线使得软件研发流程对业务侧完全透明。产品经理对项目状态一目了然,并根据需要追踪进度和跟踪责任。

八:提高 MTTR(平均修复时间)

得益于 CI/CD 流水线的可视化,DevOps 团队可以快速发现问题并进行快速修复。有一个关键指标衡量快速解决问题的能力:平均修复时间(MTTR)。MTTR 越好,DevOps 团队工作越高效,软件发版也越快

九:监控指标数据

团队和业务侧都需要知道在代码实际运行如何。在理想情况下,团队知道存在代码问题,并在终端用户感知到之前进行回滚。但在传统研发实践中,监控指标往往是缺失的。

CI/CD 流水线通过多种指标数据的持续反馈,让"理想"变为现实。访问指标数据不仅节省时间,也间接改进代码质量,没有组织希望与错误缠身的代码和性能不佳的应用程序相关联。

十:减少 Backlog 中的非重要缺陷

很明显,CI/CD 可以节约时间和金钱,让开发人员有时间去处理他们过往没有精力做的事情,比如回头去修复老代码中的问题,将其变得更加整洁和高效。

DevOps 和 CI/CD 给团队带来了改变:开发人员不仅可以解决积压的问题,还可以处理非关键缺陷,让产品更加完美。

相关推荐
勤奋的凯尔森同学1 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
月光水岸New1 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6751 小时前
数据库基础1
数据库
我爱松子鱼2 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo2 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser3 小时前
【SQL】多表查询案例
数据库·sql
Galeoto3 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)3 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231113 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
喝醉酒的小白3 小时前
PostgreSQL:更新字段慢
数据库·postgresql