持续集成/持续 部署
CI/CD 是什么
CI/CD 是 Continuous Integration / Continuous Delivery(持续集成/持续交付),或是 Continuous Deployment(持续部署)的缩写。
它们是一整套软件工程的哲学,用于在一个大的合作项目中保证所有人的代码提交都可以被频繁以及高效地合并进代码的 base branch(通常为 main 或 master),并使得软件可以持续地处于稳定、可以被编译以及发布的状态。
我们为什么使用 CI/CD
在 C 社的项目中,我们通过大量运用自动化构建 (Automated Build) 与自动化测试 (Automated Testing) 来保证:
- 每一次代码提交 (commit) 中产生的错误都会被快速地发现,避免错误被引入生产系统中
- 整个项目的代码风格(格式、命名、规则等)保持一致,增加代码的可读性
此外,我们还通过自动依赖更新 (Automated Dependency Update) 来保证代码中的依赖随时处于最新版本,尽可能快速地修复依赖包引入的安全漏洞。