[发明专利]一种基于Git的配置生成方法在审
申请号: | 202110533840.4 | 申请日: | 2021-05-17 |
公开(公告)号: | CN113190265A | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 刘春刚;王伟;鲍瑞敏 | 申请(专利权)人: | 上海云扩信息科技有限公司 |
主分类号: | G06F8/71 | 分类号: | G06F8/71;G06F8/73 |
代理公司: | 北京盛凡智荣知识产权代理有限公司 11616 | 代理人: | 张成文 |
地址: | 200240 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 git 配置 生成 方法 | ||
本发明公开了一种基于Git的配置生成方法,具体方法包含以下步骤:拉取Repo1的最新内容到“Latest”目录下;拉取上次发版的内容到“Last”目录下;差异对比,对比Latest下dev配置与Last下dev配置的差异;将变更内容应用到“Latest”目录下的sit配置文件中去;对于与环境相关的项,可根据实际情况进行手工修改;保存变更,将Latest提交到仓库,即完成sit测试环境的配置更新。该工具方法不会改变配置的原始结构,可以有效的同步并保留注释行;可以美化yaml,对于原始yaml中的注释及数据行行首空格数混乱的情况,生成yaml时会按特定空格数填充行首;操作简便,快捷。
技术领域
本发明涉及一种基于Git的配置生成方法,适用于软件微服务相关应用的yaml配置从开发环境到测试或生产环境的生成及发布。
背景技术
当前流行的微服务,将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,另一方面随着产品功能的迭代,服务所需的配置越来越多。所以一套集中式的配置管理设施是必不可少的,这便是配置中心。
项目研发阶段从开发,经历测试再到上线,涉及到dev,sit,prod等多套环境,当进入测试或上线发布阶段,相应环境的配置变更不可避免。
说到配置,应用最多的当属yaml,yaml为纯文本,可读性好,易于移植,使用较为普遍。但由于其层级关系使用缩进空白字符方式,手写极易出错(多一个空格、少一个空格都可能造成配置失效);加之配置的增量变化在项目迭代中不可避免,测试及生产环境的配置更新极为不便。
传统的方式是开发人员对开发环境的配置变更进行整理并通知测试人员,由测试去保证测试及生产环境的配置准确性。项目流程相对规范,但实际操作中配置错误引发的问题频频出现。我们发现:
1.由于开发人员较多,开发侧整理的配置变更说明经常会有遗漏;
2.测试人员根据开发提供的信息所编写出来的配置偶尔会出现书写错误;
3.配置错误带来的问题具有不确定性,往往会浪费很多时间及精力去调研,甚至还可能导致产品上线失败。
发明内容
本发明的目的就是为了解决以上问题,提供一种基于Git的配置生成方法,在保留配置中心纯粹的同时,降低配置生成的出错几率,大大提高了开发效率。
为实现上述目的,本发明一种基于Git的配置生成方法,包含以下步骤:使用git对配置文件进行版本管理,各个环境配置文件存放在同一git仓库中,假定为Repo1,其工作原理如下:1.拉取Repo1的最新内容到“Latest”目录下;
2.拉取上次发版的内容到“Last”目录下;
3.差异对比,对比Latest下dev配置与Last下dev配置的差异;
4.将变更内容应用到“Latest”目录下的sit配置文件中去;
5对于与环境相关的项,可根据实际情况进行手工修改;
6.保存变更,将Latest提交到仓库,即完成sit测试环境的配置更新。
优选的,为了得到各配置项的对应节点关系,因此自主实现一种快捷的 yaml解析方法,具体方法如下:1-1.逐行读取yaml文件,当下一行开头的空格数量与前一行相等,则为同级节点;
1-2.当开头的空格数量大于前一行,则为前一行配置项的子节点;
1-3.当开头的空格数量,假设为n,小于前一行,则向前查找空格数量小于n的行,此行配置项即是当前行的父节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海云扩信息科技有限公司,未经上海云扩信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110533840.4/2.html,转载请声明来源钻瓜专利网。