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
   44   45   46   47   48   49   50   51   52