文本描述
大型项目CI的服务化解决方案 张佑文 2019年12月 提 纲 CI与痛点 解决方案 实践成效 Why持续集成 内部公开▲ 爆炸式集成 持续集成 ? Bug 总是在最后才发现 ? 降低风险及早发现问题 ? 更快地定位和修复问题 ? 更快地交付成果 ? 越到后期问题越难解决 ? 软件交付时机无法保障 ? 程序经常需要变更 ? 无效的等待变多 ? 用户的满足度低 ? 减少手工的错误 ? 减少了等待时间 ? 更高的产品质量 ? ZTE All rights reserved 3 how持续集成 内部公开▲ 1. 维护统一的源码存储库 2. 自动化构建 3. 构建包含自动化测试验证 4. 每人每天提交代码到主干分支 5. 每次提交都应在主干分支上构建集成 6. 立即修复失败的构建 7. 让构建更快速 8. 在类生产环境中测试 9. 任何人都能轻松获得最新可用版本 10.每个人都可以看到主干分支构建状态 11.自动部署多种环境 ? ZTE All rights reserved 4 大规模项目特点 内部公开▲ l 产品不确定性多 ?输入不确定:标准协议未定稿,客户认知不一 ?基础不稳定:全新平台、系统架构、全新通讯协议 ?外部约束多:兼容多种组网、多个规格型号、多个历史版本、安全合规 l 系统复杂程度高 ?软件规模大:代码千万~亿行,版本包2G~60G ?交付要求高:1个月发布一个版本 l 团队规模大 ?并行开发:1000~3000人开发交付 ?跨地域协同:深圳、上海、西安、南京多地协同 ?能力参差不齐:新员工多,人员流动性大 ? ZTE All rights reserved 5