CI/CD 敏捷的标配 - 写给前端看的 CI/CD 介绍

1,376 阅读2分钟

我们知道,合并两个差异很大的分支代码费时费力,还容易出错。在开发完一个耗时很长的版本,合并到主分支时,往往出现功能分支和主分支间代码差异很大的情况。如何规避这种情况呢?

通过持续集成可以规避这种情况。持续集成指频繁地(一天多次)将代码集成到主干。CI 是持续集成(Continuous Intergration)的简称。CI 的好处包括:

  1. 保证开发分支与主干差异不会太大。 多人协作开发时,如果分支与主干差异过大,极易出现代码重复和覆盖情况。
  2. 快速发现问题。 当开发完成部分功能开发后,即可合入主干进行测试或体验效果,出现问题后可快速定位问题原因。
  3. 提升测试效率。 基于CI及增量测试技术,可以将每次集成后的代码内容进行测试,测试周期分散到更长阶段,相比于整个功能上线后的完整测试质量和效果更高。

花了好久开发了一款产品,客户一看,根本不是他想要的,怎么办?

频繁地客户将产品交互给客户,尽快调整。持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

CI/CD 的关系是这样的:

ci-cd-flow.png

CI/CD 怎么做

要实现 CI/CD 需要工具的配合。

CI 时,前端需要做什么

集成时,前端来说 保证功能的正常。 单元测试,e2e测试。 代码质量质量。 代码风格检查。检查空格,缩进,命名。 代码错误。ts 的类型错误。 代码可维护性检查。代码重复率。圈复杂度。 保证安全。第三方库安全扫描。业务代码的安全扫描。

几款主流ci 工具 执行时机:提交代码时。

核心概念

流水线

Jenkinsfile 定义了持续集成中的工作流水线(pipeline),其不仅实现了对步骤的流式化封装和管理,也是持续集成中的基本功能单位。流水线可以顺序执行,也可以并行执行。

持续集成怎么做

CI/CD 依赖一堆工具来支持自动化。

html 和若干css,js。 前端的产出 npm 包。

总结

CI/CD 适合大团队和需要经常交付的团队。

help.coding.net/docs/ci/int… help.coding.pages.oa.com/docs/ci/%E5…