Coursera 笔记

Module 02 · DevOps & CI/CD开发运维与持续集成·持续交付

Benefits of CICI 的主要优势

Coursera ↗

学习目标

观看本视频后,你将能够:

  • 解释 持续集成(CI) 的主要优势

CI 的主要优势

1.更快的代码变更响应速度

CI 的一个显著优势是能够 更快速地响应代码变更。每当你对代码进行修改并推送到远程分支时,变更会自动进行测试。即使你忘记手动运行测试,CI 工具也会帮你测试。接下来,代码会进行构建,即使你忘记检查构建是否成功,CI 工具也会帮你检查。这样,你就能更快地将解决方案交付给客户,并且能确保所有测试通过,构建未损坏。

2.降低代码集成风险

通过 持续集成,你能将更小的变更不断集成到主分支中,从而降低了代码集成的风险。

  • 变更越小,出错的风险就越低。
  • 比如,不再是将 10 万行代码集成到数百万行的代码库中,而是将 10、20、30 或 50 行代码进行集成,极大地减少了需要处理的代码量。

记住:更小的变更意味着更低的风险。

3.提高代码质量

CI/CD 带来的另一个好处是能够 提高代码质量。因为代码会不断被审查和测试。每次 拉取请求(Pull Request) 都是一个进行代码审查的机会。

  • 不再需要将代码审查作为一个单独的任务来安排。
  • 作为最佳实践,每当有人提交拉取请求时,你应该去查看这些代码。

在审查 拉取请求 时,除了检查代码外,还应检查以下内容:

  • 测试是否通过
  • 代码覆盖率
    • 如果代码覆盖率降低了,例如从 95% 降到 91%,这意味着有人写了代码,但没有为所有代码行编写测试用例。
    • 你可以拒绝这个拉取请求,并要求补充更多的测试用例。

例如:

  • 你可以说:“代码覆盖率下降了,暂时不批准这个请求,要求添加更多的测试用例。”
  • 开发者修改后,重新运行测试,如果结果正常,代码覆盖率达到了标准,你就可以批准这个拉取请求。

这种 互相监控 的工作方式是开发团队应当遵循的,大家应当互相帮助,审查彼此的代码,进行频繁的代码审查。因为 20 行代码 的审查总比 2 万行代码 的审查容易得多。

4.确保版本控制中的代码可用

通过 CI/CD,你能够确保版本控制中的代码是可用的,这对 持续交付(CD) 至关重要。

  • 比如,从 Git 或其他源代码管理系统中部署代码时,如何确保其中的代码是有效的呢?
  • 答案是:你已经通过了持续集成测试,确保所有测试都通过。

如果没有测试每次变更,你可能会把 损坏的代码 部署到生产环境中。因此,必须确保 Git 中的 主分支(master/main) 的代码是可用的。


总结回顾

在本视频中,你学到了:

  • CI/CD 提供了更快的代码变更响应速度,
  • 降低了代码集成风险,
  • 提高了代码质量,因为代码始终在被审查和测试,
  • 确保版本控制中的代码是可用的。
  • 开发团队应该定期互相监控彼此的工作。