代码版本管理的方法和装置制造方法及图纸

技术编号:28836567 阅读:15 留言:0更新日期:2021-06-11 23:33
本发明专利技术公开了一种代码版本管理的方法和装置,涉及代码管理技术领域。该方法的一具体实施方式包括:当构建代码工程时,生成代码工程的构建信息,构建信息包括代码工程的版本号以及对应的提交内容;根据代码工程的版本号将代码工程及其构建信息保存到文件服务器中;当需要进行代码回滚时,根据代码工程对应的提交内容确定要回滚的版本号,并根据版本号从文件服务器中获取要回滚的代码工程以进行代码回滚。该实施方式可以自动记录代码构建信息,实现生产环境代码版本信息的可视化管理,方便代码构建信息的查看,一键执行代码回滚等操作,避免了人工执行代码回滚的复杂流程,节省了人力资源,减少了代码构建失误率,提升了系统运维效率。

【技术实现步骤摘要】
代码版本管理的方法和装置
本专利技术涉及代码管理
,尤其涉及一种代码版本管理的方法和装置。
技术介绍
软件代码一般使用svn或者git进行版本管理,其中svn是集中式服务器代码版本控制系统,git是分布式代码版本控制系统,代码版本信息一般包含代码标签(tag)描述,版本实现功能或修复功能描述,版本构建日期等信息,当推送到线上(即生产)环境的代码出现问题时需要执行代码回滚操作,代码回滚操作的基本流程是将找到没有问题的提交时刻,将代码回滚到之前的版本,重新提交代码到主分支,手动构建代码并上传到服务器。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:生产环境中代码回滚操作流程复杂,需要手动回滚代码,重新构建代码并部署到服务器;代码构建信息查看困难。
技术实现思路
有鉴于此,本专利技术实施例提供一种代码版本管理的方法和装置,能够自动记录代码构建信息,实现生产环境代码版本信息的可视化管理,方便代码构建信息的查看,能够一键执行代码回滚,操作简单便捷,节省了人力资源,减少了代码构建失误率,提升了系统运维效率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种代码版本管理的方法。一种代码版本管理的方法,包括:当构建代码工程时,生成所述代码工程的构建信息,所述构建信息包括所述代码工程的版本号以及对应的提交内容;根据所述代码工程的版本号将所述代码工程及其构建信息保存到文件服务器中;当需要进行代码回滚时,根据代码工程对应的提交内容确定要回滚的版本号,并根据所述版本号从所述文件服务器中获取要回滚的代码工程以进行代码回滚。可选地,在生成所述代码工程的构建信息之前,还包括:判断所述代码工程是否位于分布式版本控制系统代码仓库;若不是,则输出提示信息。可选地,生成所述代码工程的构建信息包括:获取用于生成构建信息的配置信息,所述配置信息包括代码工程的构建时间格式和构建方式配置;通过调用分布式版本控制系统的接口,获取所述代码工程对应的提交内容、构建分支以及构建人信息;并根据所述配置信息生成所述代码工程的构建时间和构建方式;将所述代码工程对应的提交内容、构建分支、构建人信息、构建时间和构建方式打包整合生成所述代码工程的构建信息。可选地,所述构建方式包括本地构建和服务器构建。可选地,通过调用分布式版本控制系统的接口,获取所述代码工程对应的提交内容包括:通过调用分布式版本控制系统中的查询提交历史接口,获取所述代码工程对应的提交内容;所述提交内容包括代码哈希值、提交时间、提交描述、分支信息、提交人姓名和提交人邮箱。可选地,通过调用分布式版本控制系统的接口,获取所述代码工程对应的提交内容包括:通过调用分布式版本控制系统的本地分支接口,获取代码仓库的所有分支,每个所述分支具有现行、名称、提交和标签属性;从所述所有分支中获取所述代码工程构建的分支。可选地,从所述所有分支中获取所述代码工程构建的分支包括:从所述所有分支中获取现行属性值为真的分支内容,作为所述代码工程构建的分支。可选地,通过调用分布式版本控制系统的接口,获取所述代码工程对应的构建人信息包括:通过调用分布式版本控制系统的配置接口,获取所述分布式版本控制系统的配置内容;根据所述配置内容获取所述代码工程对应的构建人信息。可选地,所述配置内容包括所述分布式版本控制系统的配置文件所在的位置信息和所述分布式版本控制系统的属性配置信息;所述位置信息包括安装配置、全局配置和本地工程配置;所述属性配置信息包括用户名、用户邮箱、代码工程所在位置;所述构建人信息包括用户名和用户邮箱。可选地,根据所述配置内容获取所述代码工程对应的构建人信息包括:将所述位置信息对应的数组进行转置处理;遍历转置处理后的位置信息数组,尝试在所述属性配置信息中查找构建人信息;若查找到构建人信息则返回所述构建人信息;否则,提示用户配置构建人信息。可选地,所述方法还包括:通过自动化运维平台对代码工程进行版本信息管理;所述版本信息管理包括版本部署管理和角色管理。可选地,所述版本部署管理包括代码工程对应的版本包的上传、审核、发布和回滚管理;所述角色管理包括用户角色的新增、修改和删除;所述版本包包括所述代码工程的构建信息。可选地,其特征在于,所述版本包的上传管理包括:从接收的代码工程对应的版本包中读取所述代码工程的构建信息,并保存到临时变量中;对所述构建信息中包括的所述代码工程对应的提交内容进行哈希运算,并根据哈希运算得到的哈希值对所述版本包进行重命名,然后更新所述临时变量;将更新后的临时变量保存到数据库中以进行所述版本包的上传管理。可选地,所述版本包的发布管理包括:根据版本包发布请求,将审核通过的版本包推送到生产环境服务器,并更新版本包的投产时间,以进行版本包的发布管理。可选地,根据代码工程对应的提交内容确定要回滚的版本号包括:根据代码工程对应的提交内容,从生产环境中已运行过的代码工程中,查找最近运行的没有问题的代码工程,并将查找到的代码工程对应的版本号确定为要回滚的版本号。根据本专利技术实施例的另一方面,提供了一种代码版本管理的装置。一种代码版本管理的装置,包括:信息生成模块,用于当构建代码工程时,生成所述代码工程的构建信息,所述构建信息包括所述代码工程的版本号以及对应的提交内容;信息保存模块,用于根据所述代码工程的版本号将所述代码工程及其构建信息保存到文件服务器中;代码回滚模块,用于当需要进行代码回滚时,根据代码工程对应的提交内容确定要回滚的版本号,并根据所述版本号从所述文件服务器中获取要回滚的代码工程以进行代码回滚。可选地,所述装置还包括代码判断模块,用于:判断所述代码工程是否位于分布式版本控制系统代码仓库;若不是,则输出提示信息。可选地,信息生成模块还用于:获取用于生成构建信息的配置信息,所述配置信息包括代码工程的构建时间格式和构建方式配置;通过调用分布式版本控制系统的接口,获取所述代码工程对应的提交内容、构建分支以及构建人信息;并根据所述配置信息生成所述代码工程的构建时间和构建方式;将所述代码工程对应的提交内容、构建分支、构建人信息、构建时间和构建方式打包整合生成所述代码工程的构建信息。可选地,所述构建方式包括本地构建和服务器构建。可选地,信息生成模块还用于:通过调用分布式版本控制系统中的查询提交历史接口,获取所述代码工程对应的提交内容;所述提交内容包括代码哈希值、提交时间、提交描述、分支信息、提交人姓名和提交人邮箱。可选地,信息生成模块还用于:通过调用分布式版本控制系统的本地分支接口,获取代码仓库的所有分支,每个所述分支具有现行、名称、提交和标签属性;从所述所有分支中获取所述代码工程构建的分支。可选地,信息生成模块还用于:从所述所有分支中获取现行属性值为真的分支内容,作为所述代码工程构建的分支。可选地,信息生成模块还用于:通过调用分布式版本控制系统的配置接口,获取所述分布式版本控制系统的配置内容;根据所述配置内容获取所述代码工程对应的构建本文档来自技高网...

【技术保护点】
1.一种代码版本管理的方法,其特征在于,包括:/n当构建代码工程时,生成所述代码工程的构建信息,所述构建信息包括所述代码工程的版本号以及对应的提交内容;/n根据所述代码工程的版本号将所述代码工程及其构建信息保存到文件服务器中;/n当需要进行代码回滚时,根据代码工程对应的提交内容确定要回滚的版本号,并根据所述版本号从所述文件服务器中获取要回滚的代码工程以进行代码回滚。/n

【技术特征摘要】
1.一种代码版本管理的方法,其特征在于,包括:
当构建代码工程时,生成所述代码工程的构建信息,所述构建信息包括所述代码工程的版本号以及对应的提交内容;
根据所述代码工程的版本号将所述代码工程及其构建信息保存到文件服务器中;
当需要进行代码回滚时,根据代码工程对应的提交内容确定要回滚的版本号,并根据所述版本号从所述文件服务器中获取要回滚的代码工程以进行代码回滚。


2.根据权利要求1所述的方法,其特征在于,在生成所述代码工程的构建信息之前,还包括:
判断所述代码工程是否位于分布式版本控制系统代码仓库;
若不是,则输出提示信息。


3.根据权利要求1所述的方法,其特征在于,生成所述代码工程的构建信息包括:
获取用于生成构建信息的配置信息,所述配置信息包括代码工程的构建时间格式和构建方式配置;
通过调用分布式版本控制系统的接口,获取所述代码工程对应的提交内容、构建分支以及构建人信息;并根据所述配置信息生成所述代码工程的构建时间和构建方式;
将所述代码工程对应的提交内容、构建分支、构建人信息、构建时间和构建方式打包整合生成所述代码工程的构建信息。


4.根据权利要求3所述的方法,其特征在于,所述构建方式包括本地构建和服务器构建。


5.根据权利要求3所述的方法,其特征在于,通过调用分布式版本控制系统的接口,获取所述代码工程对应的提交内容包括:
通过调用分布式版本控制系统中的查询提交历史接口,获取所述代码工程对应的提交内容;所述提交内容包括代码哈希值、提交时间、提交描述、分支信息、提交人姓名和提交人邮箱。


6.根据权利要求3所述的方法,其特征在于,通过调用分布式版本控制系统的接口,获取所述代码工程对应的提交内容包括:
通过调用分布式版本控制系统的本地分支接口,获取代码仓库的所有分支,每个所述分支具有现行、名称、提交和标签属性;
从所述所有分支中获取所述代码工程构建的分支。


7.根据权利要求6所述的方法,其特征在于,从所述所有分支中获取所述代码工程构建的分支包括:
从所述所有分支中获取现行属性值为真的分支内容,作为所述代码工程构建的分支。


8.根据权利要求3所述的方法,其特征在于,通过调用分布式版本控制系统的接口,获取所述代码工程对应的构建人信息包括:
通过调用分布式版本控制系统的配置接口,获取所述分布式版本控制系统的配置内容;
根据所述配置内容获取所述代码工程对应的构建人信息。


9.根据权利要求8所述的方法,其特征在于,所述配置内容包括所述分布式版本控制系统的配置文件所在的位置信息和所述分布式版本控制系统的属性配置信息;所述位置信息包括安装配置、全局配置和本地工程配置;所述属性配置信息包括用户名、用户邮箱、代码工程所在位置;所...

【专利技术属性】
技术研发人员:孟繁贵梁锐
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:上海;31

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

1