一、传统行业打造统一持续集成平台痛点
- 多团队维护多套工具链,重复任务多、运维成本高。
- 各团队交付流程不统一么,重复造轮子,知识经验无法共享。
- 各交付质量、标准不统一,难以形成统一的度量体系。
二、从零到一的解决方案
1.成立团队
该团队初期视公司技术人员规模,可由虚拟组或专属devops工程师组成。该需要具备下述能力:
- 对需求管理、敏捷有所了解,敏捷教练最佳。
- 各语言研发专家,制定静态代码检测标准,负责公司技术栈选型。
- 测试工程师,负责测试工具选型及集成。
- 运维人员对资源及部署能力及流程进行把控。
- 需要与安全团队联合,对源码安全及外部组件安全形成统一方案。
- 由技术运营负责持续集成平台建设成本及收益做评估。
- 打造工具链
由上述团队对工具链选型,对整个软件生命周期全流程进行工具链选型,选型可参考下图,工具能力要覆盖需求管理、开发、构建、测试、发布、部署、运维及监控等多个领域。
- 解决持续集成平台在推广中遇到的问题
问题一:开发团队不配合怎么办?
答:构建统一的平台,为不同团队提供全方位的基础平台,减少开发团队自己的运维成本。晓之以情、动之以礼,如果仍然没效果,做详细的资源使用及度量痛点,自上而下调动研发团队配合。
问题二:开发团队担心学习新平台投入时间成本较高怎么办?
答:编写统一的持续集成模版,对开发人员模版化或桌面化提供持续集成服务,让开发人员通过简单的调用或拖拽就能实现复杂的持续集成流水线,不必要去学习大量的脚本语言。(如jenkins的sharelibrary)
问题三:开发团队不安规范使用怎么办?
答:回收持续集成平台权限,让外包或自有研发人员无法对构建模版进行修改,强制每一次持续集成要进行完整的测试和扫描步骤,保障每一个质量关卡都被触发。
-
推广的方式
试点团队先行:试点团队尽量选择关系比较好的、边缘业务团队,先行团队要尽量踩雷、快速反馈,验证工具链及管理方案的可行性,快速迭代工具链及模版内容。
小范围试用:小范围试用是为了验证平台的通用性,保障平台能适配大多数技术栈。并在试用中持续接受各团队的反馈,持续迭代平台功能。同时要在该阶段定义度量指标及使用标准。
集团推广:真正实现统一管理,并继续持续改进。 -
持续集成过程中的元数据管理
统一编写模版后需要在模版中强制收集软件生命周期各个工具链产生的数据,我们把这个数据称之为软件的元数据。元数据包括但不限于:需求id、开发者信息、构建环境、依赖组件、测试报告、静态扫描结果、安全扫描结果、部署信息等。最终这些数据将会作为评判此版本的质量关卡,确保每次交付都是高质量的交付。 - 持续集成过程中的安全管理
尽量做到安全扫描左移,在开发侧引入安全扫描,对外部依赖及源码做扫描,尽量避免漏洞在未被测试扫描情况下被引入到生产线上。这样不会造成高危漏洞在生产线上被发现而导致的整个开发迭代过程要重新进行的低效情景。
三,总结
打造传统企业统一的持续集成平台,需要专门的团队打造合适的工具链,并制定合理的规范及度量标准,最终通过不同的方式推广到整个集团。
来源:51CTO
作者:JFrog中国
链接:https://blog.51cto.com/jfrogchina/2459019