大型项目CI的服务化解决方案_第1页
大型项目CI的服务化解决方案_第2页
大型项目CI的服务化解决方案_第3页
大型项目CI的服务化解决方案_第4页
大型项目CI的服务化解决方案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大型项目CI的服务化解决方案 提纲CI与痛点 解决方案 实践成效Why持续集成爆炸式集成Bug 总是在最后才发现越到后期问题越难解决软件交付时机无法保障程序经常需要变更无效的等待变多用户的满足度低持续集成降低风险及早发现问题更快地定位和修复问题更快地交付成果减少手工的错误减少了等待时间更高的产品质量3how持续集成维护统一的源码存储库自动化构建构建包含自动化测试验证每人每天提交代码到主干分支每次提交都应在主干分支上构建集成立即修复失败的构建让构建更快速在类生产环境中测试任何人都能轻松获得最新可用版本10. 每个人都可以看到主干分支构建状态11. 自动部署多种环境45大规模项目特点l产品不确定性

2、多输入不确定:标准协议未定稿,客户认知不一基础不稳定:全新平台、系统架构、全新通讯协议外部约束多:兼容多种组网、多个规格型号、多个历史版本、安全合规l系统复杂程度高软件规模大:代码千万亿行,版本包2G60G交付要求高:1个月发布一个版本l团队规模大并行开发:10003000人开发交付跨地域协同:深圳、上海、西安、南京多地协同能力参差不齐:新员工多,人员流动性大大规模项目集成规模与成功率6大规模项目CI的挑战与痛点l源码/工具/依赖库分散在不同位置版本分支管理复杂依赖关系复杂,难以并发构建l构建集成时长过长无法每次入库在主干分支构建集成l构建失败定位困难批量合入,人工定位回滚l主干锁库频繁,阻塞

3、代码提交等待入库,等待测试,开发效率降低维护统一的源码存储库自动化构建构建包含自动化测试验证每人每天提交代码到主干分支每次提交都应在主干分支上构建集成立即修复失败的构建让构建更快速在类生产环境中测试任何人都能轻松获得最新可用版本10. 每个人都可以看到主干分支构建状态11. 自动部署多种环境7我们的CI演变历程2016201720182019研发入云重点项目版本交付周期6个月质量提升50%安全合规内嵌CI服务化某重点项目版本交付周期1个月项目级敏捷云CI云测试引入某标杆项目版本交付周期3个月2013201520102012敏捷萌芽自研工具内部试点项目探索CI方案8研发 模式 提纲CI与痛点 解

4、决方案 实践成效痛点l项目上线:CI需要DIY,低水平重复 l安全合规:工具分散,游离在主流程外 l数据一致性:项目间数据定义差异明显,互通困难l成果共享复制:优秀成果复制推广困难云化CI方案存在的痛点持续集成持续部署代码托管代码检查持续集成自动化测试A项目流程建模流水线创建平台工具二次开发相关系统数据打通环境资源调度管理DIY持续维护B项目Gerrit打包发布ArtifactoryFortifyKlocworkCoverity云CIJenkinsDockerMesos云测试Blackduck Nessus绿盟 WebInspectC项目10目标l场景化支撑:可编排支撑多种项目场景, 轻量化使

5、用运维l服务内嵌:安全合规内嵌、质量内建l数据治理:统一业务模型、数据模型, 全局展示l开源共创:聚焦主航道,工具可插拔和 持续演进服务化CI的演进思路可编排持续集成服务数据 中台透视图代码托管代码检查持续集成自动化测试打包发布GerritArtifactoryFortifyKlocworkCoverity云CIJenkinsDockerMesos云测试Blackduck Nessus绿盟 WebInspectA项目Config AB项目Config BC项目Config C.持续集成持续部署11产品CI领域CI个人CICI应用编排调度公共库开源扫描 漏洞扫描缺陷扫描病毒扫描 渗透测试工具平台

6、API检出构建编排解析器实例构建器工具接口实例创建GerritArtifactory自研SWRFortifyKlocworkCoverity云CIJenkinsDocker云部署Jenkins云测试BlackduckNessus绿盟MesosWebInspect代码操作制品操作安全扫描数据推送编译构建.调度引擎.分支自动化安全合规流水线服务化CI业务框架:场景化、可编排、可扩展多样化场景灵活编排数据贯通插件式扩展能力集可扩展,快速复制优秀实践统一的数据模型自动化上报数据中台对通透视图原生工具封装,简化引用工具部署升级可统一实施开源共创低成本多级CI/多分支/多项目协同流水 微服务/小产品的多分

7、支管理多代码库一键拉分支多层次串行、并行编排资源优先级可调配控制点、红线自动管控A项目B项目C项目.ZTE All rights reserved12CI服务化方案:基于项目业务提炼通用模型,基于配置灵活调度执行解析构建器调度执行引擎项目配置公共配置CI模型Pipeline模型Stage模型Step模型.产品CI领域CI 个 人 CI VerifyCIMergeCI.公共资源项目资源项目定制13CI模型提炼项目服务接入 配置CICI配置个人CI流 水领域CI流 水产品CI流 水解决方案 CI流水项目CI流水StageStep14CI模型提炼流水名称注释Stage名称Step 串行Step 并行

8、Step项目CI流水StageStep15CI模型提炼项目CI流水StageStepStepID配置环境节点镜像OS容器参 数环境变 量输入对象依赖对象命令工作目 录输出对象16 提纲CI与痛点 解决方案 实践成效配置运维轻量化项目调试上线:新手2周,熟手1周灵活配置扩展:yaml配置实现新引入工具调用18Job灵活创建Job灵活创建:支持单Job单分支,单Job多分支;单流水单Job,单流水多JobJob间的触发:支持大项目项目群Job之间嵌套自动化调度19资源调度提效多层次节点并发:支持stage内多模块并发/多step并发/step内操作并发,满足各种场景的CI 快速反馈需求资源优先级可

9、调配:支持按照分支/组件/节点方式进行资源的自动化匹配,保障高优先级分支 的Job资源要求20分支自动化管理一键拉分支:支持多代码库一键拉分支;可以通过分支配置信息创建/代码库的快照信息创建支持复杂多分支:支持项目微服务/小产品独立发布的分支自动化管理21自动化上报透视数据内置数据上报:自动化通过Rest或Jenkins插件上报CI数据增强CI数据模型:支持CI数据建模全量表的数据模型,可扩展补充step内细节数据22变量与模板增强编排配置简化配置,减少配置信息的重复冗余和维护工作量增强能力,数据可灵活在流水线中传递23某重点项目使用CI服务化方案收益新业务适配24打包命令模板封装模块化组装NF包组件灵活配置积木化组装齐套文档配置字段有详细的 文档说明关键代码有注释说明方便快速上手由40-45分钟缩减为18-20分钟安全合规时长优化流水线代码不会被其他用户使用回放看到基于服务化方案快速实现安全合规内嵌基于服务化CI框架,可一次性快速上线四大类、七 种安全工具,免去整合安全工具的人力与时间投入统一输出报告内容,自动上传制品库并打标签, 100%确保报告真实准确,达到公司治理要求,并 释放汇总工作的人力每版本0.5人天简化配置和部署,典型的项目配置仅100多行统一安全数据模型,自动化采集结果并传到数据中 台,形成反馈闭环直接对接透视图,可视化安全扫描数据25后续改进优化更高的性能:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论