CI/CD 管道的优化与管理
1. 资源约束问题及解决办法
资源约束会对管道产生负面影响,导致排队、执行时间过长,甚至使整个 ALM 平台或集成服务器完全停止。常见原因包括计算(CPU)资源不足、磁盘空间不足和网络拥塞。这些问题通常在管道投入使用后出现。
在设计和开发管道时,就应该对应用数量、管道数量以及预期的管道运行次数有一定的了解。CI/CD 基础设施的规模确定是一种有根据的猜测,至少要确保管道在满足所有要求的情况下能够正常工作。此外,还可以进行一些优化:
- 并行化代码分析扫描 :如果代码分析包含多种扫描类型,顺序执行所有任务可能需要很长时间。解决方案是并行化这些任务。由于不同类型的代码分析扫描之间没有关联,因此在设计阶段就考虑并行化是一个好习惯。
- 并行化测试 :不仅代码分析扫描可能耗时较长,测试运行尤其容易花费大量时间。可以并行执行多种类型的测试,或者并行化同一类型的测试。对于后者,可以将测试分成小组,并行执行这些小组。其他方法包括根据历史计时数据对测试进行分组,使每个组的测试时间(几乎)相同。
- 卸载构建、源代码分析和测试执行 :不建议在同一服务器上运行构建、源代码分析(SCA)任务和执行测试。因为运行所有任务的服务器达到极限时,管道运行会排队。可以将构建任务卸载(例如向 Jenkins 主节点添加节点),在专用服务器上运行 SCA 任务,并将测试运行从构建服务器卸载到测试服务器。即使管道在 ALM SaaS 解决方案上运行,如果管道运行的服务器或代理与公司内其他 DevOps 团队共享,这种做法仍然适用。因为大量处理可能会影响其他团队,导致
超级会员免费看
订阅专栏 解锁全文
950

被折叠的 条评论
为什么被折叠?



