Page 49 - AV_202212
P. 49
技术
图的众多分支中,有一条是主线(master),也称 子结构的目录,其每一级都可以设置关联的成
主干。所有其它分支都从主线分出,并有可能会 员(Member),同时每一级下都可以创建项目
合并回主线。使用分支原因是需要创建一个不同 (Project),组关联的Member和Member对应
的版本,或者一组人员需要在一个相对独立的环 的权限,会继承到Group下的所有子项目和子组
境中互相配合共同完成一个大的任务。深层次原 上,Project中除了继承Group的Member,还可
因是软件开发进程面临着两个基本问题,即适当 以单独设置新的Member。这种方式可以为每个
隔离和适当共享。适当隔离是在工作过程中,各 厂家分配自己负责的子项目,相对于完全分支
人或各组需独立地工作,不希望被别人意外地干 管理,分组管理可以实现更严格的权限控制,
扰,也不希望干扰别人。适当共享是各人或各组 当然也可以根据需要再做某个Project下单独分支
的工作,在适当的时候,以适当的方式,共享和 管理。客户端方面,尽量选择GUI客户端,比如
集成。分支同时对隔离和共享提供了支持。一条 TortoiseGit,减少对GIT具体指令的依赖,这种前
分支被创建后,它的生长是独立的,工作在一条 后端组合对于合作的各厂家版本配置技能要求会
分支上,不会与主线或其它分支相互影响。分支 低很多。建议采用的配置管理流程图如下:
的起点是分支的基础,是分支继承的内容,不同
分支上的工作成果,可在适当的时候合并。
通常对于小型分布式系统项目或产品,尤其
成员大部分是熟悉GIT系统的研发人员,笔者最
佳实践是使用 GIT建立 dev, cont和 prod 三个分支
分别对应开发库、受控库和产品库,不需要建 3
个库,这样通过简单的合并操作就可以实现从开
发库到受控库、从受控库到产品库的代码复制,
而且可以从合并记录中看出 3 个分支之间的关
系。在分支中进行权限控制,进入要管理的项目
仓库,在分支页签下建好所需的分支,然后进入
保护分支管理菜单,设置保护分支,按照提示操
作具体分支,可以实现只允许管理员或者特定人 结束语:
员向这些分支提交/合并,从而实现了受控库和产 真视通云视频工程实验室在研发分布式系统产
品库受控。 品时,使用成熟稳定的分布式配置管理系统,在
对于中大型分布式系统项目研发,尤其涉及 自主研发模块中,采用分支版本管理方式;在主
多个厂家共同合作开发并最终集成的情况,最佳 导国内中大型分布式系统工程项目时,涉及多个合
实践是采用分组管理方式,来实现开发区、受控 作单位,使用创新性的分组管理模式, 降低合作
库、产品库的独立管理,目录结构跟传统SVN后 研发单位的配置管理技术要求,提高研发效率,
台配置管理的结构类似。组(Group)是一个父 保证软件产品的完整性、一致性、可追溯性。
参考文献:
[1] Wahli U,Brown J,Teinonen M,Trulsson L.软件配置管理:IBM Rational ClearCase和ClearQuest UCM指南[M].李纪华,译.北
京:人民邮电出版社,2006.
[2] Gene Kim,Jez Humble,Patrick Debois,John Willis. DevOps实践指南[M]. 刘征,王磊,马博文,曾朝京译.北京:人
民邮电出版社,2018.
[3] GB/T 12505-90, 计算机软件配置管理计划规范 [S]
49