《极狐:2023中国企业研发高效能白皮书-CI/CD篇(33页).pdf》由会员分享,可在线阅读,更多相关《极狐:2023中国企业研发高效能白皮书-CI/CD篇(33页).pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、中国企业研发高效能白皮书近年来中国企业研发正在从粗放型走向精益型,研发工作的“高效能”成为几乎每个研发团队共同的追求。中国软件服务产业也在近5-10年中得到了飞速发展,技术服务的边界不断拓展,赋能研发高效的产品层出不穷,适合中国研发环境的技术服务体系在不断完善。从结果上看,中国企业正在高效能研发的路径上快速前进。本份报告以中国高效能研发企业为研究对象,尝试解读市场中具有代表性的高效能研发解决方案。本次报告由五个篇章组成,如CI/CD、企业级架构、价值流管理等主题。研究小组期待可以通过研究,帮助中国企业研发团队获得高效能研发新知。3目录CONTENTSCI/CD概念和背景介绍CI/CD的概念关于
2、CI/CDCI/CD发展的阶段历经三阶段,平台型产品站上历史舞台CI/CD的价值CI/CD赋能研发的四大抓手CI/CD的流程结构CI/CD流程结构创新赋能研发效率CI/CD行业发展概况CI/CD市场基础数据CI/CD市场蓬勃发展CI/CD市场厂商分布CI/CD行业厂商矩阵逐步形成CI/CD市场特征洞察行业发展推动市场需求呈现新特征极狐GitLab CI/CD:带您开启新世界大门极狐GitLab CI/CD简介GitLab CI/CD使用前和工作流极狐GitLab CI/CD特征极狐GitLab CI/CD四大核心优势极狐GitLab CI/CD真实用户使用反馈4CI/CD 概念和背景介绍5研发
3、团队提到降本增效,最直接想到的解决方案就是将一些繁琐、易错的工作,改造为持续自动化交付流程。而在研发团队传统交付过程中,“代码集成(Continuous Integration即为CI)”和“代码交付(Continuous Delivery即为CD)”可以说是很多团队最为头痛的问题。通常研发团队中会设置一位同事或者一个团队专门负责代码集成和交付工作。但往往因为项目规模、构建环境、大量细微错误积累等复杂因素,项目的集成和交付经常会成为压垮开发团队的最后一根稻草。有研究表明在软件开发早期,手动测试过多是导致开发团队开发效率低的主要原因之一。自动测试比较少,研发过程缺乏构建和部署自动化,导致了研发团
4、队手动测试容易出现大量问题。统计数据表明,62%的研发团队被这样的问题困扰。关于CI/CD5“所以,软件集成是一件高风险的、不确定的事情,国外甚至有个专门的说法,叫作集成地狱。也正因为如此,人们就更倾向于不做集成,这就导致开发末端的集成环节变得更加困难,从而形成了一个恶性循环。”开发者6 CD(Continuous Delivery)最早出现于2010年,Jez Humble和David Farley在持续交付一书中提及和定义了CD:持续交付是“一系列的原则与实践的集合;通过这个集合,团队能够在低成本、短时间及低风险的状态下以增量方式将软件变更交到用户手上。”持续交付部分由版本控制、制品管理、
5、变更管理、构建、持续集成、自动化测试、部署管理、流水线、持续交付工具等方面组成。关于CI/CDCI 为 ContinuousIntegration 的 英 文 缩 写,意 为 持 续 集 成。CD 最 早 为Continuous Delivery的英文缩写,意为持续交付;后来也被认为可以代表ContinuousDeploy,意为持续部署。如今,CI/CD一般为持续集成、交付和部署的简称。“CI(Continuous Integration)源于肯特贝克(Kent Beck)在1996年提出的极限编程方法(ExtremeProgramming)。顾名思义,极限编程是一种软件开发方法,作为敏捷开发
6、的方法之一,目的在于通过缩短开发周期,提高发布频率来提升软件质量,改善用户需求响应速度。”7关于CI/CDCI/CD这套软件工程思路和原则诞生后经常被同时提及,是更为优秀的软件开发方法,能够大大提高团队的工作效率和交付水平。持续集成(CI)是构建软件、完成初始测试等一系列工作,是通过小步快跑的方式,不断优化集成方式的过程。持续部署(CD)是将代码与基础设施相结合的过程,确保完成所有测试并遵循策略,然后将代码部署到预期环境中。CD经常被认为也同时代表持续部署即Continuous Deploy。持续部署更进一步。一旦构建在staging环境中通过了自动测试,持续部署系统将会自动将它部署到生产服务