【技术实现步骤摘要】
代码处理方法、装置、服务器及可读存储介质
本申请涉及计算机
,具体而言,涉及一种代码处理方法、装置、服务器及可读存储介质。
技术介绍
目前,Git-lab是基于开源Git项目的企业级别管理代码、控制代码发布版本的代码仓库。随着企业规模的扩大,开发项目数量逐渐增加,项目发布也越来越频繁。对于每个开发项目,都会按照Git项目提供的Git-Hook钩子配置的方法定义多个Git-Hook回调事件,去监听针对每个开发项目的代码提交、合并、发布等一系列用户操作。然而,这种方式需要重复很多劳动力分别去开发和维护每个开发项目的回调事件脚本,极大浪费开发资源,且增加开发成本。
技术实现思路
有鉴于此,本申请实施例的目的在于提供一种代码处理方法、装置、服务器及可读存储介质,以解决现有技术中需要重复很多劳动力分别去开发和维护每个开发项目的回调事件脚本的问题,进而节省开发资源,降低开发成本。根据本申请实施例的一个方面,提供一种电子设备,可以包括一个或多个存储介质和一个或多个与存储介质通信的处理器。一个或多个存储介质存储有处理器可执行的机器可读指令。当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令,以执行代码处理方法。根据本申请实施例的另一方面,提供一种代码处理方法,应用于与代码服务器通信连接的发布服务器,所述发布服务器配置有针对所述代码服务器存储的各个项目仓库的公共配置文件,所述方法可以包括:在接收到代码服务器发送的针对目标项目仓库的代码处理请求后,根据所述代码 ...
【技术保护点】
1.一种代码处理方法,其特征在于,应用于与代码服务器通信连接的发布服务器,所述发布服务器配置有针对所述代码服务器存储的各个项目仓库的公共配置文件,所述方法包括:/n在接收到代码服务器发送的针对目标项目仓库的代码处理请求后,根据所述代码处理请求从预先配置的公共配置文件中获取对应的代码处理指令;/n根据所述代码处理指令从所述代码服务器中获取所述目标项目仓库中的仓库代码文件,并对所述仓库代码文件执行对应的代码处理操作。/n
【技术特征摘要】 【专利技术属性】
1.一种代码处理方法,其特征在于,应用于与代码服务器通信连接的发布服务器,所述发布服务器配置有针对所述代码服务器存储的各个项目仓库的公共配置文件,所述方法包括:
在接收到代码服务器发送的针对目标项目仓库的代码处理请求后,根据所述代码处理请求从预先配置的公共配置文件中获取对应的代码处理指令;
根据所述代码处理指令从所述代码服务器中获取所述目标项目仓库中的仓库代码文件,并对所述仓库代码文件执行对应的代码处理操作。
2.根据权利要求1所述的代码处理方法,其特征在于,在接收到代码服务器发送的针对目标项目仓库的代码处理请求后,根据所述代码处理请求从预先配置的公共配置文件中获取对应的代码处理指令的步骤之前,所述方法还包括:
配置所述公共配置文件,具体为:
根据服务提供方终端发送的公共配置文件创建请求,生成可视化配置页面;
将所述可视化配置页面发送给所述服务提供方终端进行显示,以提示用户在所述可视化配置页面中配置公共配置文件的文件地址、所述公共配置文件对应的各个项目仓库以及所述公共配置文件中针对每个项目仓库在不同用户操作命令下的代码处理指令;
根据所述服务提供方终端发送的公共配置文件的文件地址、所述公共配置文件对应的各个项目仓库以及所述公共配置文件中针对每个项目仓库在不同用户操作命令下的代码处理指令生成所述公共配置文件。
3.根据权利要求2所述的代码处理方法,其特征在于,所述根据所述代码处理请求从预先配置的公共配置文件中获取对应的代码处理指令的步骤,包括:
从所述代码处理请求中获得用户操作信息,所述用户操作信息至少包括目标项目仓库名以及用户操作命令;
根据所述目标项目仓库名访问所述公共配置文件的文件地址,并运行所述公共配置文件;
从运行的公共配置文件中获得该目标项目仓库在该用户操作命令下的代码处理指令。
4.根据权利要求1-3中任意一项所述的代码处理方法,其特征在于,若代码处理指令中包括代码发布指令,所述根据所述代码处理指令从所述代码服务器中获取所述目标项目仓库中的仓库代码文件,并对所述仓库代码文件执行对应的代码处理操作的步骤,包括:
根据所述代码发布指令向所述代码服务器发送代码获取请求,并接收所述代码服务器响应所述代码获取请求发送的所述目标项目仓库中的仓库代码文件;
将所述仓库代码文件发布到对应环境的网站服务器中。
5.根据权利要求4所述的代码处理方法,其特征在于,若代码处理指令中还包括代码备份指令,所述接收所述代码服务器响应所述代码获取请求发送的所述目标项目仓库中的仓库代码文件的步骤之后,所述方法还包括:
根据所述代码备份指令确定备份代码服务器;
将所述目标项目仓库中的仓库代码文件发送给所述备份代码服务器进行备份存储。
6.根据权利要求4所述的代码处理方法,其特征在于,若代码处理指令中还包括代码规范检测指令,在将所述仓库代码文件发布到对应环境的网站服务器中的步骤之前,所述方法还包括:
根据所述代码规范检测指令调用代码规范检测工具检测所述仓库代码文件是否存在代码规范错误;
在检测到所述仓库代码文件中存在代码规范错误时,生成代码修改信息,并将所述代码修改信息发送给服务提供方终端,其中,所述代码修改信息包括至少一个待修改代码信息,所述待修改代码信息包括代码位置和代码修改规范;
在检测到所述仓库代码文件中不存在代码规范错误时,再执行将所述仓库代码文件发布到对应环境的网站服务器中的步骤。
7.根据权利要求4所述的代码处理方法,其特征在于,若代码处理指令中还包括代码安全检测指令,在将所述仓库代码文件发布到对应环境的网站服务器中的步骤之前,所述方法还包括:
根据所述代码安全检测指令检测所述仓库代码文件的文件类型;
根据检测到的文件类型判断所述仓库代码文件是否为危险代码文件;
若判定所述仓库代码文件为危险代码文件,则将所述仓库代码文件过滤,并向服务提供方终端发送过滤提示信息;
若判定所述仓库代码文件不为危险代码文件,再执行将所述仓库代码文件发布到对应环境的网站服务器中的步骤。
8.根据权利要求4所述的代码处理方法,其特征在于,若代码处理指令中还包括版本号检测指令,在将所述仓库代码文件发布到对应环境的网站服务器中的步骤之前,所述方法还包括:
若所述网站服务器的环境为测试环境,则根据所述版本号检测指令检测所述仓库代码文件的版本号是否为测试版本号;
若所述仓库代码文件的版本号为测试版本号,再执行将所述仓库代码文件发布到对应环境的网站服务器中的步骤;
若所述仓库代码文件的版本号不为测试版本号,则取消所述仓库代码文件的发布,并向服务提供方终端返回版本号错误的提示信息;
若所述网站服务器的环境为线上环境,则根据所述版本号检测指令检测所述仓库代码文件的版本号是否为正式版本号;
若所述仓库代码文件的版本号为正式版本号,则检测所述正式版本号是否为测试环境的网站服务器已经部署过的版本号,如果所述正式版本号为测试环境的网站服务器已经部署过的版本号,再执行将所述仓库代码文件发布到对应环境的网站服务器中的步骤,否则取消所述仓库代码文件的发布,并向服务提供方终端返回未找到版本号的提示信息;
若所述仓库代码文件的版本号不为正式版本号,则取消所述仓库代码文件的发布,并向服务提供方终端返回版本号错误的提示信息。
9.根据权利要求4所述的代码处理方法,其特征在于,若代码处理指令中还包括依赖资源检测指令,在将所述仓库代码文件发布到对应环境的网站服务器中的步骤之前,所述方法还包括:
根据所述依赖资源检测指令向所述仓库代码文件中的每个代码文件的文件地址发送文件查找请求,并检测每个文件查找请求的响应信息;
根据所述每个文件查找请求的响应信息判断所述仓库代码文件是否存在缺失的代码文件;
如果所述仓库代码文件中存在缺失的代码文件,则取消所述仓库代码文件的发布,向服务提供方终端返回代码文件的提示信息;
如果所述仓库代码文件中不存在缺失的代码文件,再执行将所述仓库代码文件发布到对应环境的网站服务器中的步骤。
10.一种代码处理方法,其特征在于,应用于代码处理系统,所述代码处理系统包括相互之间通信连接的代码服务器和发布服务器,所述发布服务器配置有针对所述代码服务器存储的各个项目仓库的公共配置文件,所述方法包括:
所述代码服务器根据用户操作命令向所述发布服务器发送对应的代码处理请求;
所述发布服务器在接收到所述代码服务器发送的针对目标项目仓库的代码处理请求后,根据所述代码处理请求从预先配置的公共配置文件中获取对应的代码处理指令;
根据所述代码处理指令从所述代码服务器中获取所述目标项目仓库中的仓库代码文件,并对所述仓库代码文件执行对应的代码处理操作。
11.根据权利要求10所述的代码处理方法,其特征在于,所述代码服务器根据用户操作命令向所述发布服务器发送对应的代码处理请求的步骤之前,所述方法还包括:
所述代码服务器响应用户操作,修改所述代码服务器的Hook代码文件中的Git-Hook钩子函数,以使所述Git-Hook钩子函数指定所述发布服务器;
将修改后的Hook代码文件存储到每个项目仓库的对应目录中,并将Git-Hook指针配置为指向所述发布服务器中的公共配置文件。
12.根据权利要求11所述的代码处理方法,其特征在于,所述代码服务器根据用户操作命令向所述发布服务器发送对应的代码处理请求的步骤,包括:
所述代码服务器在检测到针对目标项目仓库的用户操作命令后,调用所述目标项目仓库的的Hook代码文件中的Git-Hook钩子函数以确定对应的发布服务器;
向所述发布服务器发送对应的代码处理请求。
13.根据权利要求10所述的代码处理方法,其特征在于,所述发布服务器在接收到所述代码服务器发送的针对目标项目仓库的代码处理请求后,根据所述代码处理请求从预先配置的公共配置文件中获取对应的代码处理指令的步骤之前,所述方法还包括:
配置所述公共配置文件,具体为:
根据服务提供方终端发送的公共配置文件创建请求,生成可视化配置页面;
将所述可视化配置页面发送给所述服务提供方终端进行显示,以提示用户在所述可视化配置页面中配置公共配置文件的文件地址、所述公共配置文件对应的各个项目仓库以及所述公共配置文件中针对每个项目仓库在不同用户操作命令下的代码处理指令;
根据所述服务提供方终端发送的公共配置文件的文件地址、所述公共配置文件对应的各个项目仓库以及所述公共配置文件中针对每个项目仓库在不同用户操作命令下的代码处理指令生成所述公共配置文件。
14.根据权利要求13所述的代码处理方法,其特征在于,所述根据所述代码处理请求从预先配置的公共配置文件中获取对应的代码处理指令的步骤,包括:
从所述代码处理请求中获得用户操作信息,所述用户操作信息至少包括目标项目仓库名以及用户操作命令;
根据所述目标项目仓库名访问所述公共配置文件的文件地址,并运行所述公共配置文件;
从运行的公共配置文件中获得该目标项目仓库在该用户操作命令下的代码处理指令。
15.根据权利要求10-14中任意一项所述的代码处理方法,其特征在于,若代码处理指令中包括代码发布指令,所述根据所述代码处理指令从所述代码服务器中获取所述目标项目仓库中的仓库代码文件,并对所述仓库代码文件执行对应的代码处理操作的步骤,包括:
所述发布服务器根据所述代码发布指令向所述代码服务器发送代码获取请求;
所述代码服务器响应所述代码获取请求向所述发布服务器发送所述目标项目仓库中的仓库代码文件;
所述发布服务器接收所述目标项目仓库中的仓库代码文件,并将所述仓库代码文件发布到对应环境的网站服务器中。
16.根据权利要求15所述的代码处理方法,其特征在于,若代码处理指令中还包括代码备份指令,所述发布服务器接收所述目标项目仓库中的仓库代码文件的步骤之后,所述方法还包括:
技术研发人员:陈成,傅铮,卢群,
申请(专利权)人:北京嘀嘀无限科技发展有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。