今天我们来看持续交付的第一个关键点:配置管理。按照持续交付的理念,这里所说的配置管理范围会更广,主要有以下几个部分。
讲持续交付,一上来就先讲配置管理,主要还是想强调:配置管理是基础,是关键。我们后面将要讲的每一个持续交付环节,都对配置管理有很强的依赖。这个基础工作做不好,也就谈不上的持续交付的成功。勿在浮沙筑高台,我们做工具平台或系统,一定要重视基础的建设。
同时,这里还有一个前提,就是一定要做到代码和配置的分离。不要让配置写死在代码里,需要依靠严格的规范和约束。同时,对于那些因历史原因遗留在代码中的配置,要多花些时间和精力把配置剥离出来,做这项工作没有什么好的方法或经验,只能多上心,多投入些精力。
配置管理中,对于版本控制和依赖配置目前都有比较成熟的工具体系支持,也有丰富的实践经验供我们参考学习,下面我会做一个简要的介绍。
对于软件配置和环境配置管理,这两项配置跟我们自身的业务软件特性强相关,是整个持续交付过程的关键,我会结合我们自身的实践经验进行重点介绍和分享。
版本控制
版本控制的主要作用是保证团队在交付软件的过程中能够高效协作,版本控制提供了一种保障机制。具体来说,就是团队在协作开发代码的情况下,记录下代码的每一次变更情况。
说到这里,你是不是想到了 SVN 和 Git 这样的版本管理工具?对,其实我们每天都在接触,每天都在不停地做这个事情,所以目前看来这是一件很平常的事情。
关于这一部分我在后面的文章里会介绍关于提交阶段的实践经验。这里我们只要知道,版本控制及其工具是必不可少的,因为这是开发团队协作最基础的工具。现在应该很少有团队不采用版本控制的管理机制吧?