一图搞懂自动化持续交付流程-提升产品,开发,测试协作效率

研发玩点艰辛事 2024-03-06 03:42:43

持续交付协作流程-提升产品,开发,测试协作效率

1)首先介绍为什么要实行自动化持续集成和交付。

1.1)但凡经历过早期草创研发阶段的老鸟都知道:如果没有自动化持续集成交付,什么都要人肉去操作,不但容易出错,导致怨声载道,团队之间相互等待的问题,还会出现相关同学总是频繁的被打扰,经常去做一些机器能自动化的事情,导致人的效率大为下降。质量和效率都极为低下,人员的满意程度非常低。

1.2) 持续集成和持续交付的优势

更快的交付速度:通过频繁地集成和交付软件,团队能够更快地将新功能、修复和改进推送到用户手中,缩短软件开发周期。

更高的软件质量:自动化的测试流程可以提前发现和解决潜在的问题,减少bug的产生,并确保代码质量和稳定性。

减少冲突和错误:频繁地集成代码可以减少分支合并时的冲突,避免大规模的代码冲突和错误的出现。

提高团队协作:持续集成和持续交付鼓励团队成员频繁地集成和交付代码,促进团队协作和沟通,减少开发和部署过程中的摩擦。

2) 上述图示的详细解释。

2.1) 需求和计划:

老板,产品经理(小公司里面可能老板兼产品)调研需求,编写用户故事(user story)到

jira(或者同类研发管理或需求管理平台)。

2.2)开发:

开发团队领取需求,并做好方案设计,并完成代码开发,提交到代码仓库(由git或者svn等代码版本工具管理,git这块可能是私有化部署的gitlab,私有github仓库等)。

2.3)构建/打包:

通过Jenkins等工具实现自动化构建,打包流程,以便完成自动化集成&交付CICD (流水线)。构建打包完成后自动开始部署操作,将打包文件提交到k8s等,以构建docker镜像并发布。

2.4)测试:

QA在测试环境完成对最新测试版本的 UAT (用户验收测试),实际操作中大部分也会完成性能测试,安全测试等。如果有问题,当然是反馈给开发,如此循环几次。

2.5)发布

当测试环境都测试没问题的时候,就可以把代码合并到Production版本,这个过程也是可以在合并代码后自动化构建,打包,部署到Production环境的k8s里面。

一般这个时候正规公司还会进行冒烟测试,live验收测试。以便在用户使用之前,提前发现可能存在的问题。

之后就是用户正式使用了。当然有些公司为了降低风险,还会使用灰度发布,A/B版本等方式实现部分用户使用最新版本,以便收集问题,等确认没有问题后才全部开启最新版本。

0 阅读:0

研发玩点艰辛事

简介:感谢大家的关注