[发明专利]代码编译方法、装置、服务器及存储介质在审
申请号: | 202110288863.3 | 申请日: | 2021-03-18 |
公开(公告)号: | CN113031960A | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 张斌 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 宁立存 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 编译 方法 装置 服务器 存储 介质 | ||
本公开提供了一种代码编译方法、装置、服务器及存储介质,属于计算机技术领域。方法包括:创建超文本传输协议服务,得到代理管线;基于该代理管线对网络钩子发送的网络钩子请求进行解析,得到模块信息,网络钩子用于监听发生代码变动时触发的编译事件,模块信息用于指示发生代码变动的至少一个目标模块;根据模块信息,确定与至少一个目标模块对应的至少一个编译管道,编译管道用于对编译管道对应的模块进行编译;向至少一个编译管道发送网络钩子请求。上述方案,通过使对应的编译管道根据网络钩子请求对目标模块中的代码进行编译实现了一个或者多个目标模块的编译,整体流程简单,且相较于shell脚本,代理管线易于扩展和维护。
技术领域
本公开涉及计算机技术领域,特别涉及一种代码编译方法、装置、服务器及存储介质。
背景技术
在软件开发过程中,企业级的应用软件项目,大部分都是多人协作的开发模式,源代码管理都依赖于服务器中的代码仓库,如Git(分布式版本控制系统)仓库。如何对代码仓库中的代码进行高效的编译,是需要解决的问题。
相关技术中,服务器中包括代码仓库和编译管道,代码仓库中存储有多个模块的代码,编译管道用于进行代码的编译。服务器同时也提供了一些代码管理方面的附加功能,通过网络钩子监听编译事件,然后通过编译管道中的shell脚本处理网络钩子请求,来实现代码的编译。
上述方式的复杂度高,并且如果项目中增加了新的模块或者删除了模块,需要重新修改shell脚本,扩展性差、维护成本高。
发明内容
本公开提供一种代码编译方法、装置、服务器及存储介质,通过创建超文本传输协议服务得到代理管线,然后基于该代理管线对网络钩子请求进行解析,能够确定代码发生了变动的目标模块,进一步的能够向目标模块对应的编译管道发送该网络钩子请求,以使对应的编译管道根据该网络钩子请求对目标模块中的代码进行编译,从而实现一个或者多个目标模块的编译,整体流程简单,且相较于shell脚本,代理管线易于扩展和维护。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种代码编译方法,包括:
创建超文本传输协议服务,得到代理管线;
基于所述代理管线对网络钩子发送的网络钩子请求进行解析,得到模块信息,所述网络钩子用于监听发生代码变动时触发的编译事件,所述模块信息用于指示发生代码变动的至少一个目标模块;
根据所述模块信息,确定与所述至少一个目标模块对应的至少一个编译管道,所述编译管道用于对所述编译管道对应的模块进行编译;
向所述至少一个编译管道发送所述网络钩子请求。
在一些实施例中,所述基于所述代理管线对网络钩子发送的网络钩子请求进行解析,得到模块信息,包括:
接收网络钩子发送的网络钩子请求;
基于所述代理管线对所述网络钩子请求进行解析,得到至少一个文件路径;
确定所述至少一个文件路径对应的至少一个目标模块,所述文件路径对应的文件中存储有所述目标模块中的代码。
在一些实施例中,所述基于所述代理管线对所述网络钩子请求进行解析,得到至少一个文件路径之后,所述方法还包括:
从所述网络钩子请求中移除忽略编译的文件路径。
在一些实施例中,所述根据所述模块信息,确定与所述至少一个目标模块对应的至少一个编译管道,包括:
获取配置表,所述配置表用于指示模块与编译管道之间的对应关系;
对于所述模块信息中的任一目标模块,基于所述配置表,确定所述目标模块对应的目标编译管道。
在一些实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110288863.3/2.html,转载请声明来源钻瓜专利网。