一直在说配置管理,配置管理到底是什么?带你了解下什么叫做配置管理,配置管理到底是我们日常在接触的什么工具。
配置管理(Configuration Management)SCM,使用配置识别、版本控制、变更控制和审计来管理工作产品的完整性。
----CMMI2.0对配置管理的定义
看完是不是一脸蒙圈,看下图关于配置管理的目录你就能基本理解什么是配置管理,以及关于配置管理定义中的几个名词代表的意思了。
配置管理是指一个过程,通过该过程,所有与项目相关的产物,以及他们之间的关系都被唯一定义,修改、存储和检索。
------《持续交付-发布可靠软件的系统方法》对配置管理的定义
是不是又懵了,如果把配置管理改为版本控制,是不是就好理解很多,配置管理作为一个被广泛接受的名词,往往作为版本控制的同义词。当前是什么版本,有哪些历史版本,版本管理工具支持访问任意一个修订版本,这也是共同交付软件时的一种机制。
1、配置管理工具
配置管理工具有哪些呢,有经历了什么样的发展历程,我们一起来看看,我们现在代码管理基本都已经在使用git了,当然至今还有人在使用RCS、CVS、SVN,所以当我们谈到配置管理工具的时候,其实就是在谈这些工具。
以下就是各类版本管理工具的发展历程,大家也可以了解一下:
配置管理工具,也称为版本管理工具,为什么我们称之为版本控制工具,而不是源代码控制工具,原因是版本控制不仅仅针对源代码,还包括项目过程中的其他交付物,都应该置于版本控制之下。开发人员不只要把源代码管理起来,还要把数据库脚本、构建和部署脚本、文档和应用软件所有的配置文件都纳入到版本控制之中,甚至常用的工具集也需要放到版本控制工具中,以便新加入的成员可以快速的开始工作。
2、版本控制的目的
1、保留所有文件的历史版本,以便于查找
如何获取到线上运行的版本,这就涉及到版本控制结合分支管理的概念,这两个方面都做好了,就可以快速的找到线上运行的版本。
2、让分布式团队能愉快的协作
让不在一起办公、不在统一时间办公的小伙伴们,能够非常轻松的获取到其他人编写的代码,并且可以知道是谁、什么时间,修改了什么内容。
3、使用版本控制工具的原则
1、对所有内容进行版本控制
确保我们的文件都在版本控制致下,前面我们提到不只是源代码需要进行版本控制,所有的项目管理过程中的交付物都需要进行版本控制。
2、频繁提交代码到主干
长时间不提交代码,会让合并工作变得异常痛苦,如果长时间未提交代码,一旦遇到构建失败,会给排查问题带来巨大的困难。
3、使用意义明确的注释
明显的注释,可以帮助团队轻松的找到历史版本,以及历史版本修改的内容,节约协同过程中的沟通成本。
通过文本对配置管理的讲解,不知道大家对于配置管理是否有了一定的认识呢,如果还有什么疑问,欢迎大家一起来交流。