CI/CD

持续集成(Continuous Integration, CI)”和“持续部署(Continuous Deployment, CD)”是重要的自动化应用集成与部署的方案。

当程序规模变大之后,要管理多人协作和部署程序将变得很困难,而如何将这些工作与构建、测试等步骤整合到一起就更为困难。在传统的软件开发过程中,会有人员定期检查程序员们编写的代码,将它们人工整合到中央仓库中(比如使用 Git);并且还会有人员定期运行测试、构建代码,然后将它们部署到服务器上进行实际测试。

然而,对于如今互联网的快速迭代,传统方式已经不适应了。许多互联网企业希望他们的产品代码能够不断集成到中央仓库、一天执行上百次测试并且一天进行数次甚至数十次部署。这时候,使用人工方式就不在现实了,因此出现了自动化的集成(将代码整合到中央仓库、并且进行测试、构建)和持续部署。我们常说的 DevOps 就包含了这两种技术。

一个流行的 CI/CD 工具是 Jenkins。它可以自动从 Git 仓库中获取代码,运行测试,进行构建,并且部署到服务器上。这类自动化工具大大提高了软件的迭代效率,目前已经被大多数成规模的互联网公司采用。甚至在如 Google 的超大型互联网公司中,还会有专业人员专门负责维护公司内 CI/CD 系统的正确运行。

Last updated