概述:
软件开发周期中需要一些可以帮助开发者提升速度的自动化工具。其中工具最重要的目的是促进软件项目的持续集成与交付。通过CI/CD工具,开发团队可以保持软件更新并将其迅速的投入实践中。CI/CD也被认为是敏捷开发的最重要实践之一。
一 、持续集成
从上图可以看到,持续集成应该至少包括以下几部分:
- 自动化构建Continuous Build
- 自动化测试Continuous Test
- 自动化集成Continuous Intergration
- 自动化构建
包括以下过程:
- 将源码编译成为二进制码
- 打包二进制码
- 运行自动化测试
- 生成文档
- 生成分发媒体(例如:Debian DEB、Red Hat RPM或者Windows MSI文件)
所以,自动化构建,从功能角度分,最关键的是三部分:版本控制工具、构建工具、CI服务器。而其中最核心的又是构建工具。其他开源的、与持续集成相关的工具也有很多,但大多数是辅助性的工具。
(1)版本控制工具
有时,版本控制又称为配置管理(SCM),所以版本控制工具同时也是配置管理工具。在各类版本控制的开源软件中,最著名的莫过于CVS、SVN(Subversion)、GIT三个了