一种基于Git的版本风险管理把控方法、系统及存储介质

文档序号:189965 发布日期:2021-11-02 浏览:46次 >En<

阅读说明:本技术 一种基于Git的版本风险管理把控方法、系统及存储介质 (Method, system and storage medium for managing and controlling version risk based on Git ) 是由 王锐旭 于 2021-08-11 设计创作,主要内容包括:本发明公开了一种基于Git的版本风险管理把控系统,包括:Git命令封装模块,用于封装、组装Git原生命令供业务模块使用;业务模块,用于组装合并代码全流程信息以及收集执行过程返回的信息;配置模块,用于保存参数配置以及给其他模块提供查询接口,避免将敏感的账号信息编码到逻辑层代码上;部署模块,用于从Git仓库拉取代码并部署至docker上;日志模块,用于统一系统运行过程中的日志打印格式;邮件模块,用于发送邮件通知使用者运行结果;扩展模块,用于扩展出检查代码是否存在漏过合并的提交。(The invention discloses a edition risk management control system based on Git, comprising: the Git command packaging module is used for packaging and assembling Git native commands for the service module to use; the business module is used for assembling and merging the full-flow information of the codes and collecting the information returned by the execution process; the configuration module is used for storing parameter configuration and providing query interfaces for other modules so as to avoid encoding sensitive account information onto a logic layer code; the deployment module is used for pulling the codes from the Git warehouse and deploying the codes to the docker; the log module is used for unifying the log printing formats in the system operation process; the mail module is used for sending a mail to inform a user of an operation result; and the expansion module is used for expanding whether the check code has submission which is missed in combination.)

一种基于Git的版本风险管理把控方法、系统及存储介质

技术领域

本发明属于互联网技术领域,涉及一种基于Git的版本风险管理把控方法、系统及存储介质。

背景技术

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,主要功能有集中管理代码档案,提供加锁避免不同用户提交冲突,提供不同版本源代码的比较等。

但是Git作为通用版本控制工具,虽然提供了多种版本问题的解决方案,但基于通用性的原因,很难做到与开发者的持续构建系统完全契合和融入。

发明内容

本发明的目的是提供一种基于Git的版本风险管理把控方法、系统及存储介质,具有对开发人员进行代码合并时可能出现的代码冲突、强行合并等高风险操作进行规避,提升代码管理质量的特点。

本发明所采用的技术方案是,一种基于Git的版本风险管理把控系统,包括:

Git命令封装模块,用于封装、组装Git原生命令供业务模块使用;

业务模块,用于组装合并代码全流程信息以及收集执行过程返回的信息;

配置模块,用于保存参数配置以及给其他模块提供查询接口,避免将敏感的账号信息编码到逻辑层代码上;

部署模块,用于从Git仓库拉取代码并部署至docker上;

日志模块,用于统一系统运行过程中的日志打印格式;

邮件模块,用于发送邮件通知使用者运行结果;

扩展模块,用于引用成熟接口扩展其他功能。

本发明的特点还在于:

一种基于Git的版本风险管理把控方法,具体按照以下步骤实施:

步骤1、开发者调起代码合并进程,由业务模块和Git命令封装模块执行:本风险管理把控系统自动从Git上克隆出工作缓存路径,供后续执行检查逻辑使用;

步骤2、检测过程,由业务模块和配置模块执行:分别进入开发分支和主干,获取各自最新的提交记录列表,通过对Git中的git log命令的--no-merge参数控制,筛选掉因合并代码产生且无实际提交的提交记录;

步骤3、对比开发分支与主干的最新提交记录,检测开发分支是否包含主干的所有提交记录,否则中断操作;

步骤4、检测通过则进行合并过程:将开发分支上的代码合并至主干,并收集项目名、开发分支名称、成功与否、目标部署环境等相关信息,供后续流程使用;

步骤5、若合并成功则由部署模块进行部署:远程调起Jenkins中的构建进程,自动对项目进行打包部署至docker镜像中,并启动为容器,否则返回错误信息;

步骤6、将版本风险管理把控系统嵌套到持续集成工具Jenkins当中,提供批量操作的特性和图形化启动的便利。

步骤1-6中的输入与输出都经由版本风险管理把控系统处理,对外屏蔽所有敏感信息打印。

权限账号通过配置文件进行配置,配置文件存放在Linux服务器中,只给予特定账号读权限,保证不被篡改,最大限度降低泄露风险。

一种计算机可读存储介质,包括当由计算机系统执行时,执行基于Git的版本风险管理把控方法的计算机可执行指令。

本发明的有益效果是:

通过封装Git原生命令进行代码管理,提供集成批量处理、冲突检测、自动合并、通知用户的工具,提高开发人员代码管理的准确性和便捷性,并且通过提供图形化界面入口,降低了学习成本。通过python把合并代码的一系列操作封装起来,将零散的操作合成为统一的入口和流程,屏蔽了敏感信息的输入和输出,提高了便利性和隐蔽性。

附图说明

图1为本发明系统流程图;

图2为本发明的模块关系原理图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

一种基于Git的版本风险管理把控系统,包括:

Git命令封装模块,用于封装、组装Git原生命令供业务模块使用;

业务模块,用于组装合并代码全流程信息以及收集执行过程返回的信息;

配置模块,用于保存参数配置以及给其他模块提供查询接口,避免将敏感的账号信息编码到逻辑层代码上;

部署模块,用于从Git仓库拉取代码并部署至docker上;

日志模块,用于统一系统运行过程中的日志打印格式;

邮件模块,用于发送邮件通知使用者运行结果;

扩展模块,用于引用成熟接口扩展其他功能。

一种基于Git的版本风险管理把控方法,具体按照以下步骤实施:

步骤1、开发者调起代码合并进程,由业务模块和Git命令封装模块执行:本风险管理把控系统自动从Git上克隆出工作缓存路径,供后续执行检查逻辑使用;

步骤2、检测过程,由业务模块和配置模块执行:分别进入开发分支和主干,获取各自最新的提交记录列表,通过对Git中的git log命令的--no-merge参数控制,筛选掉因合并代码产生且无实际提交的提交记录;

步骤3、对比开发分支与主干的最新提交记录,检测开发分支是否包含主干的所有提交记录,否则中断操作;

步骤4、检测通过则进行合并过程:将开发分支上的代码合并至主干,并收集项目名、开发分支名称、成功与否、目标部署环境等相关信息,供后续流程使用;

步骤5、若合并成功则由部署模块进行部署:远程调起Jenkins中的构建进程,自动对项目进行打包部署至docker镜像中,并启动为容器,否则返回错误信息;

步骤6、将版本风险管理把控系统嵌套到持续集成工具Jenkins当中,提供批量操作的特性和图形化启动的便利。

步骤1-6中的输入与输出都经由版本风险管理把控系统处理,对外屏蔽所有敏感信息打印。

权限账号通过配置文件进行配置,配置文件存放在Linux服务器中,只给予特定账号读权限,保证不被篡改,最大限度降低泄露风险。

一种计算机可读存储介质,包括当由计算机系统执行时,执行基于Git的版本风险管理把控方法的计算机可执行指令。

实施例

配置服务器:Linux服务器一台或多台;

在Linux服务器上部署相关环境:Git,Jenkins,Python,邮箱等,如果中配置了多台服务器,则还需保证各服务器之间有互相访问权限;

安装版本风险管理把控系统中使用到的Python依赖库;

将版本风险管理把控系统整体代码复制至Jenkins的脚本目录当中,并且配置访问权限;

修改版本风险管理把控系统当中的配置文件,主要涉及Git账号密码,服务器账号密码,邮箱账号密码,Jenkins账号密码等所需权限的配置;

Jenkins当中配置图形化、参数化界面入口,将执行过程定向到版本风险管理把控系统的外部调用接口上;

上述步骤完成后,则由开发或测试人员从Jenkins上发起合并代码进程,自动检测并执行合并代码—构建项目—部署项目的过程。

本发明对Git合并原理以及Python对原生命令再封装进行整合,使得原本割裂、需要每个步骤单独人工操作的版本管理工作统一到持续集成devops体系当中,具有一定的信息安全保护,提升了开发人员和测试人员的工作效率。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:应用程序的灰度发布方法、装置、电子设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!