分布式代码管理方法及系统的制作方法

文档序号:10534506阅读:487来源:国知局
分布式代码管理方法及系统的制作方法
【专利摘要】本发明涉及代码编译领域,公开了一种分布式代码管理方法及系统。其中,该方法包括:部署权限服务器,使所述权限服务器能够对多个代码服务器中的每一个进行操作;通过所述权限服务器创建多个代码分支,每个代码分支对应于所述多个代码服务器中的一个代码服务器;以及所述权限服务器将所创建的多个代码分支对应发送到所述多个代码服务器,实现代码同步。通过上述技术方案,通过部署权限服务器对多个代码服务器中的每一个进行操作,通过权限服务器创建并发送对应于代码服务器的多个代码分支到代码服务器,可以实现代码同步能够实现灵活的代码管理。
【专利说明】
分布式代码管理方法及系统
技术领域
[0001]本发明涉及代码编译领域,具体地,涉及一种分布式代码管理方法及系统。
【背景技术】
[0002]代码审查可以通过Gerr it软件实现。Gerr it是一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。代码审查也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。
[0003]通常每个应用或者二方库的代码将包括master(主)、develop(开发)、release(发布)、hotf ix(修补程序)、feature(特征)分支,其中:
[0004]master和develop分支都是主分支,主分支是所有开发活动的核心分支。所有的开发活动产生的输出物最终都会反映到主分支的代码中。
[0005]master分支上存放的应该是随时可供在生产环境中部署的代码。当开发活动告一段落,产生了一份新的可供部署的代码时,master分支上的代码会被更新。同时,每一次更新,都有对应的版本号标签(TAG)。
[0006]develop分支是保存当前最新开发成果的分支。通常这个分支上的代码也是可进行每日夜间发布的代码(Nightly build)。因此这个分支有时也可以被称作“集成分支(integrat1n branch),,。
[0007]当develop分支上的代码已实现了软件需求说明书中所有的功能,通过了所有的测试后,并且代码已经足够稳定时,就可以将所有的开发成果合并回master分支了。对于master分支上的新提交的代码建议都打上一个新的版本号标签(TAG),供后续代码跟踪使用。
[0008]release分支是为发布新的产品版本而设计的。在这个分支上的代码允许做小的缺陷修正、准备发布版本所需的各项说明信息(版本号、发布时间、编译时间等等)。通过在re I ease分支上进行这些工作可以让develop分支空闲出来以接受新的特征(feature)分支上的代码提交,进入新的软件开发迭代周期。
[0009]当develop分支上的代码已经包含了所有即将发布的版本中所计划包含的软件功能,并且已通过所有测试时,就可以考虑准备创建release分支了。而所有在当前即将发布的版本之外的业务需求一定要确保不能混到release分支之内(避免由此引入一些不可控的系统缺陷)。
[00?0] 成功的派生了 release分支,并被赋予版本号之后,develop分支就可以为“下一个版本”服务了。所谓的“下一个版本”是在当前即将发布的版本之后发布的版本。版本号的命名可以依据项目定义的版本号命名规则进行。
[0011 ]除了是计划外创建的以外,hotfix分支与release分支十分相似:都可以产生一个新的可供在生产环境部署的软件版本。当生产环境中的软件遇到了异常情况或者发现了严重到必须立即修复的软件缺陷的时候,就需要从master分支上指定的TAG版本派生hotfix分支来组织代码的紧急修复工作。
[0012]现有技术中,待审查的代码都存储在固定的服务器上,针对代码的操作(例如审查)需要在特定的服务器上进行。要对代码进行操作时,需要登录服务器或通过下载的方式从服务器获取代码,操作繁琐、灵活性差。
[0013]针对上述技术问题,现有技术中尚无良好解决方案。

【发明内容】

[0014]本发明的目的是提供一种方法及系统,该方法及系统能够实现灵活的代码管理。
[0015]为了实现上述目的,本发明提供一种分布式代码管理方法,该方法包括:部署权限服务器,使所述权限服务器能够对多个代码服务器中的每一个进行操作;通过所述权限服务器创建多个代码分支,每个代码分支对应于所述多个代码服务器中的一个代码服务器;以及所述权限服务器将所创建的多个代码分支对应发送到所述多个代码服务器,实现代码同步。
[0016]进一步地,该方法包括:在所述权限服务器上设置web系统;以及通过所述web系统的界面为使用者分配权限。
[00?7]进一步地,该方法包括:通过所述web系统创建所述多个代码分支,其中所述web系统提供web操作界面。
[0018]进一步地,该方法包括:所述权限服务器通过安全外壳SSH将所创建的多个代码分支对应发送到所述多个代码服务器。
[0019]进一步地,所述代码分支包括以下至少之一者:主分支、开发分支、发布分支、修补程序分支、特征分支。
[0020]进一步地,所述权限服务器为所述多个代码服务器中具有预设权限的代码服务器。
[0021]本发明的另一个方面,提供了一种分布式代码管理系统,该系统包括:相通信的权限服务器和代码服务器,其中所述代码服务器被配置成执行代码审查;以及所述权限服务器被配置成:操作多个代码服务器中的每一个代码服务器;创建多个代码分支,每个代码分支对应于所述多个代码服务器中的一个代码服务器;以及将所创建的多个代码分支对应发送到所述多个代码服务器,实现代码同步。
[0022]进一步地,所述权限服务器上设置有web系统;以及通过所述web系统的界面为使用者分配权限。
[0023]进一步地,所述权限服务器被配置成:通过所述web系统创建所述多个代码分支,其中所述web系统提供web操作界面。
[0024]进一步地,所述权限服务器被配置成:通过安全外壳SSH将所创建的多个代码分支对应发送到所述多个代码服务器。
[0025]进一步地,所述代码分支包括以下至少之一者:主分支、开发分支、发布分支、修补程序分支、特征分支。
[0026]进一步地,所述权限服务器为所述多个代码服务器中具有预设权限的代码服务器。
[0027]通过上述技术方案,通过部署权限服务器对多个代码服务器中的每一个进行操作,通过权限服务器创建并发送对应于代码服务器的多个代码分支到代码服务器,可以实现代码同步能够实现灵活的代码管理。
[0028]本发明的其它特征和优点将在随后的【具体实施方式】部分予以详细说明。
【附图说明】
[0029]附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的【具体实施方式】一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0030]图1是本发明实施方式提供的分布式代码管理方法流程图;以及
[0031]图2是本发明实施方式提供的分布式代码管理系统结构示意图。
【具体实施方式】
[0032]以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0033]图1是本发明实施方式提供的分布式代码管理方法流程图。如图1所示,本发明提供的分布式代码管理方法,该方法可以包括以下步骤:
[0034]步骤101:部署权限服务器,使所述权限服务器能够对多个代码服务器中的每一个进行操作;
[0035]在实施方式中,部署的权限服务器可以新建或新装的服务器,并对服务器进行权限配置,使该服务器具有能够操作代码服务器的能力,例如,能够向代码服务器发送代码以使代码服务器对代码执行代码审查;或者向代码服务器发送指令,指示代码服务器对在其中存储的代码执行代码审查。在不同的实施方式中,可以单独设置或部署权限服务器,也可以将代码服务器中的一个设置为权限服务器。在后者这样的实施方式中,具有特定权限的代码服务器除了具有代码审查功能之外,还可以对其他代码服务器进行操作,以向其他代码服务器发送待审查代码或向其他代码服务器发送指示代码服务器对在其中存储的代码执行代码审查。
[0036]步骤102:通过所述权限服务器创建多个代码分支,每个代码分支对应于所述多个代码服务器中的一个代码服务器;
[0037]在实施方式中,可以根据使用要求或者根据不同代码服务器的处理能力创建代码分支。在不同的实施方式中,可以根据代码服务器中存储的代码类型为代码服务器创建分支。在实施方式中,可以创建的代码分支包括但不限于以下代码分支类型:
[0038]主分支、开发分支、发布分支、修补程序分支、特征分支。
[0039]步骤103:所述权限服务器将所创建的多个代码分支对应发送到所述多个代码服务器,实现代码同步。
[0040]在创建了代码分支之后,权限服务器可以通过网络(例如,有线网络或无线网络)将创建的代码分支对应发送到代码服务器。本领域技术人员可以理解,与权限服务器相通信的多个代码服务器可能不是位于同一机房内部通过局域网连接的代码服务器集群,而可能是分散于世界各地的分布式代码服务器。为了保证通信的安全性,在可选的实施方式中,权限服务器可以通过,例如,基于密钥的安全认证方式发送代码分支。在可选的实施方式中,所述权限服务器可以通过安全外壳SSH将所创建的多个代码分支对应发送到所述多个代码服务器。SSH为安全外壳(Secure ShelI)的缩写,由IETF的网络工作小组(NetworkWorking Group)所制定;SSH为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。在其他可选的实施方式中,权限服务器与分布的代码服务器之间可以具有安全隧道,以实现相互之间的安全通信。
[0041]在实施方式中,权限服务器中可以通过预设的系统提供使用者操作界面以及系统功能(例如,基于用户名和密码的登录功能)。上述方法可以包括:在所述权限服务器上设置web系统;以及通过所述web系统的界面为使用者分配权限。Web系统可以具有以下几个主要组成部分:Web前端系统、负载均衡系统、数据库集群系统、缓存系统、分布式存储系统、分布式服务器管理系统、代码分发系统等。
[0042]相应地,根据web系统,上述方法可以包括:通过所述web系统创建所述多个代码分支,其中所述web系统提供web操作界面。利用web操作界面,可以实现诸如使用者登录等操作。
[0043]图2是本发明实施方式提供的分布式代码管理系统结构示意图。如图2所示,本发明的实施方式提供了一种分布式代码管理系统,该系统包括:相通信的权限服务器201和代码服务器202,其中所述代码服务器202被配置成执行代码审查(例如,代码服务器202中安装有Gerrit软件);以及所述权限服务器201被配置成:操作多个代码服务器202中的每一个代码服务器202;创建多个代码分支,每个代码分支对应于所述多个代码服务器202中的一个代码服务器202;以及将所创建的多个代码分支对应发送到所述多个代码服务器202,实现代码同步。
[0044]在实施方式中,部署的权限服务器201可以新建或新装的服务器,并对服务器进行权限配置,使该服务器具有能够操作代码服务器的能力,例如,能够向代码服务器202发送代码以使代码服务器202对代码执行代码审查;或者向代码服务器202发送指令,指示代码服务器202对在其中存储的代码执行代码审查。在不同的实施方式中,可以单独设置或部署权限服务器201,也可以将代码服务器202中的一个设置为权限服务器201。
[0045]权限服务器201可以是单一计算机,也可以是部署在机房中的计算机(或服务器)集群。在创建了代码分支之后,权限服务器201可以通过网络(例如,有线网络或无线网络)将创建的代码分支对应发送到代码服务器202。本领域技术人员可以理解,与权限服务器201相通信的多个代码服务器202可能不是如图2所示位于同一机房内部通过交换机的局域网连接的代码服务器202集群,而可能是分散于世界各地通过网络连接的分布式代码服务器202。为了保证通信的安全性,在可选的实施方式中,权限服务器201可以通过,例如,基于密钥的安全认证方式发送代码分支。
[0046]在实施方式中,所述权限服务器201上可以设置有web系统;以及通过所述web系统的界面为使用者分配权限。
[0047]在实施方式中,所述权限服务器201可以被配置成:通过所述web系统创建所述多个代码分支,其中所述web系统提供web操作界面。在优选的实施方式中,所述权限服务器201可以被配置成:通过安全外壳SSH将所创建的多个代码分支对应发送到所述多个代码服务器202。
[0048]在实施方式中,可以根据使用要求或者根据不同代码服务器202的处理能力创建代码分支。在不同的实施方式中,可以根据代码服务器202中存储的代码类型为代码服务器202创建分支。在实施方式中,可以创建的代码分支包括但不限于以下代码分支类型:
[0049 ]主分支、开发分支、发布分支、修补程序分支、特征分支。
[0050]通过上述技术方案,通过部署权限服务器对多个代码服务器中的每一个进行操作,通过权限服务器创建并发送对应于代码服务器的多个代码分支到代码服务器,可以实现代码同步能够实现灵活的代码管理。
[0051]以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。例如,可以将代码分支改变为审查分支。
[0052]另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
[0053]此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
【主权项】
1.一种分布式代码管理方法,其特征在于,该方法包括: 部署权限服务器,使所述权限服务器能够对多个代码服务器中的每一个进行操作; 通过所述权限服务器创建多个代码分支,每个代码分支对应于所述多个代码服务器中的一个代码服务器;以及 所述权限服务器将所创建的多个代码分支对应发送到所述多个代码服务器,实现代码同步。2.根据权利要求1所述的分布式代码管理方法,其特征在于,该方法包括: 在所述权限服务器上设置web系统;以及 通过所述web系统的界面为使用者分配权限。3.根据权利要求2所述的分布式代码管理方法,其特征在于,该方法包括: 通过所述web系统创建所述多个代码分支,其中所述web系统提供web操作界面。4.根据权利要求1所述的分布式代码管理方法,其特征在于,该方法包括: 所述权限服务器通过安全外壳SSH将所创建的多个代码分支对应发送到所述多个代码服务器。5.根据权利要求1所述的分布式代码管理方法,其特征在于,所述代码分支包括以下至少之一者: 主分支、开发分支、发布分支、修补程序分支、特征分支。6.根据权利要求1所述的分布式代码管理方法,其特征在于,所述权限服务器为所述多个代码服务器中具有预设权限的代码服务器。7.一种分布式代码管理系统,其特征在于,该系统包括: 相通信的权限服务器和代码服务器,其中 所述代码服务器被配置成执行代码审查;以及 所述权限服务器被配置成: 操作多个代码服务器中的每一个代码服务器; 创建多个代码分支,每个代码分支对应于所述多个代码服务器中的一个代码服务器;以及 将所创建的多个代码分支对应发送到所述多个代码服务器,实现代码同步。8.根据权利要求7所述的分布式代码管理系统,其特征在于: 所述权限服务器上设置有web系统;以及 通过所述web系统的界面为使用者分配权限。9.根据权利要求8所述的分布式代码管理系统,其特征在于,所述权限服务器被配置成: 通过所述web系统创建所述多个代码分支,其中所述web系统提供web操作界面。10.根据权利要求7所述的分布式代码管理方法,其特征在于,所述权限服务器被配置成: 通过安全外壳SSH将所创建的多个代码分支对应发送到所述多个代码服务器。11.根据权利要求7所述的分布式代码管理系统,其特征在于,所述代码分支包括以下至少之一者: 主分支、开发分支、发布分支、修补程序分支、特征分支。12.根据权利要求7所述的分布式代码管理系统,其特征在于,所述权限服务器为所述多个代码服务器中具有预设权限的代码服务器。
【文档编号】G06F9/44GK105893035SQ201610191488
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】石奉兵, 肖莹
【申请人】乐视控股(北京)有限公司, 乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1