一种基于服务器诊断的代码管控方法、设备及存储介质技术

技术编号:34349572 阅读:11 留言:0更新日期:2022-07-31 05:27
本申请公开了一种基于服务器诊断的代码管控方法,用以解决现有的人工代码管控程序繁琐、效率较低的技术问题。方法包括:在服务器上拉取最新版本代码,对所述最新版本代码进行新增或修改操作;对新增或修改后的代码进行规范性及鲁棒性检查;对多个所述新增或修改后的代码进行版本合并;生成版本合并后的更新程序包,并同步至各个工厂生产服务器。通过上述方法实现了人工方式干预造成的低效率以及低准确率,通过检查代码的规范性以及鲁棒性,有效解决了版本的同步以及不同开发者之间协作开发的冲突,检查提交的代码是否符合预先定义的规范,保证了代码可以正常运行。且能够通过版本备份,在升级异常时,快速回退到原始版本。快速回退到原始版本。快速回退到原始版本。

A code control method, equipment and storage medium based on server diagnosis

【技术实现步骤摘要】
一种基于服务器诊断的代码管控方法、设备及存储介质


[0001]本申请涉及编程
,尤其涉及一种基于服务器诊断的代码管控方法、设备及存储介质。

技术介绍

[0002]版本控制在软件开发领域有着极其重要的作用,主要是实现对代码的管控,以解决代码冲突、代码备份等问题,从而提高软件开发的效率。目前比较常规的管控方法是仅仅借助SVN(Subversion,开放源代码的版本控制系统)工具完成代码的提交和备份。关于代码的规范性没有一个统一的定义,也未能定义有效的发布和回退机制,这些工作人工干预的部分比较多一些。
[0003]通过较多的人工介入实现代码管控,对实施人员的技术要求比较高,且容易出错。由于代码的变更与发布频率较高,而人工发布程序繁琐,无法实现安全生产与降本增效的宗旨。

技术实现思路

[0004]本申请实施例提供了一种基于服务器诊断的代码管控方法、设备及存储介质,用以解决现有的人工代码管控程序繁琐、效率较低的技术问题。
[0005]一方面,本申请实施例提供了一种基于服务器诊断的代码管控方法,所述方法包括:在服务器上拉取最新版本代码,对所述最新版本代码进行新增或修改操作;对新增或修改后的代码进行规范性及鲁棒性检查;对多个所述新增或修改后的代码进行版本合并;生成版本合并后的更新程序包,并同步至各个工厂生产服务器。
[0006]在本申请的一种实现方式中,所述方法还包括:在进行所述新增或者修改操作之前,将所拉取的所述最新版本代码锁定,并对所述版本合并后形成的代码解锁。
[0007]在本申请的一种实现方式中,在服务器上拉取最新版本代码之前,所述方法还包括:获取本次项目的所有配置项;其中,所述配置项用于管理所有开发人员对代码的访问控制权限,所述配置项包括:拉取代码、新增代码、修改代码、删除代码;确定当前开发人员所需要的配置项,并将多余的配置项删除。
[0008]在本申请的一种实现方式中,所述对新增或修改后的代码进行规范性及鲁棒性检查,具体为:捕获异常代码并退回;检测代码是否满足系统预期,若不满足则退回;检测代码是否按照预设布局方式进行布局,若不是按照预设布局方式布局,则重新布局;检测代码命名是否预设命名规范一致,若不一致则按预设命名规则重新命名。
[0009]在本申请的一种实现方式中,在检测代码命名是否与预设命名规范一致之后,所述方法还包括:确定本次项目涉及的所有第三方库;基于本次项目要实现的功能,从所述所有第三方库中匹配最优方案。
[0010]在本申请的一种实现方式中,所述对多个所述新增或修改后的代码进行版本合并,具体为:将第一版本的内容附加至第二版本中和/或合并第一版本以及第二版本的内容
形成第三版本。
[0011]在本申请的一种实现方式中,使用SVN工具合并版本,从工作目录中拉取对应的代码文件;其中,所述代码文件包括:无需编译的Shell脚本、需要编译的Python脚本、配置文件以及刷新工具。
[0012]在本申请的一种实现方式中,所述方法还包括:登录各个工厂系统服务器,检测当前用于生产的程序版本;将当前用于生产的程序进行备份;在所述更新程序包同步出现异常时,中断升级进程并退回至当前用于生产的程序版本。
[0013]另一方面,本申请实施例还提供了一种基于服务器诊断的代码管控设备,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:在服务器上拉取最新版本代码,对所述最新版本代码进行新增或修改操作;对新增或修改后的代码进行规范性及鲁棒性检查;对多个所述新增或修改后的代码进行版本合并;生成版本合并后的更新程序包,并同步至各个工厂生产服务器。
[0014]另外,本申请实施例还提供了基于服务器诊断的代码管控的非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:在服务器上拉取最新版本代码,对所述最新版本代码进行新增或修改操作;对新增或修改后的代码进行规范性及鲁棒性检查;对多个所述新增或修改后的代码进行版本合并;生成版本合并后的更新程序包,并同步至各个工厂生产服务器。
[0015]本申请实施例提供的一种基于服务器诊断的代码管控方法,通过自动化的流程实现代码提交、代码规范检查、合并版本分支等过程,解决了当前规模日益庞大且不断创新研制的产品库,需要实时升级诊断系统的难题。通过代码管控有效解决版本的同步以及不同开发者之间协作开发的冲突。通过检查代码的规范性以及鲁棒性,保证了代码可以正常运行。通过锁定编写有效解决了版本的同步以及不同开发者之间协作开发的冲突,检查提交的代码是否符合预先定义的规范,保证了代码运行的准确率,且能够通过版本备份,在升级异常时,快速回退到原始版本,减少了人工方式干预造成的低效率以及低准确率。
附图说明
[0016]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0017]图1为本申请实施例提供的一种基于服务器诊断的代码管控方法流程图;
[0018]图2为本申请实施例提供的检测代码规范性和鲁棒性方法流程图;
[0019]图3为本申请实施例提供的一种基于服务器诊断的代码管控设备示意图。
具体实施方式
[0020]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021]版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更
的管理,是软件配置管理的核心思想之一。对于一个规模庞大且应用成熟的软件系统来说,通常是由一个团队协助完成日常的功能开发与程序漏洞的修复。
[0022]在开发的过程中,可能会遇到以下场景:多名成员同时修改提交同一个文件,可能会因为没有及时有效的沟通,造成修改内容的冲突,给代码的合并带来很大的困难;在已经发布的程序中添加新的功能,测试验证后没有问题,才能提交发布。在测试验证期间,为了不影响系统的正常运行,需要备份多份源代码。而版本控制思想就是为了解决上述问题而提出的。在互联网的发展过程中,版本控制有着举足轻重的地位。使用有效的版本控制,能够大大提升软件开发的效率。
[0023]为了应对规模庞大且不断创新研制的产品库,需要实时升级诊断系统,并且实时同步到不同工厂,因此代码的升级和发布就显得尤为重要。本申请是在使用SVN的基础上,定义一套代码管控和发布自动化流程,记录代码和文档的变更历史,有效解决版本的同步以及不同开发者之间协作开发的冲突,检查提交的代码是否符合预先定义的规范。
[0024]目前,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务器诊断的代码管控方法,其特征在于,所述方法包括:在服务器上拉取最新版本代码,对所述最新版本代码进行新增或修改操作;对新增或修改后的代码进行规范性及鲁棒性检查;对多个所述新增或修改后的代码进行版本合并;生成版本合并后的更新程序包,并同步至各个工厂生产服务器。2.根据权利要求1所述的一种基于服务器诊断的代码管控方法,其特征在于,所述方法还包括:在进行所述新增或者修改操作之前,将所拉取的所述最新版本代码锁定,并对所述版本合并后形成的代码解锁。3.根据权利要求1所述的一种基于服务器诊断的代码管控方法,其特征在于,在服务器上拉取最新版本代码之前,所述方法还包括:获取本次项目的所有配置项;其中,所述配置项用于管理所有开发人员对代码的访问控制权限,所述配置项包括:拉取代码、新增代码、修改代码、删除代码;确定当前开发人员所需要的配置项,并将多余的配置项删除。4.根据权利要求1所述的一种基于服务器诊断的代码管控方法,其特征在于,所述对新增或修改后的代码进行规范性及鲁棒性检查,具体为:捕获异常代码并退回;检测代码是否满足系统预期,若不满足则退回;检测代码是否按照预设布局方式进行布局,若不是按照预设布局方式布局,则重新布局;检测代码命名是否预设命名规范一致,若不一致则按预设命名规则重新命名。5.根据权利要求4所述的一种基于服务器诊断的代码管控方法,其特征在于,在检测代码命名是否与预设命名规范一致之后,所述方法还包括:确定本次项目涉及的所有第三方库;基于本次项目要实现的功能,从所述所有第三方库中匹配最优方案。6.根据权利要求1所述的一种基于服务器诊断的代码管控方法,其特征在于,所述对多个所...

【专利技术属性】
技术研发人员:邱允
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1