System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件版本管理,尤其涉及基于可执行文件标记和跟踪软件版本的方法和系统及设备。
技术介绍
1、软件研发产物部署环境后的版本追踪是企业运维管理流程中的重点工作项之一。行之有效的版本查看和跟踪方法,有助于开发或运维人员定位软件产物来源,验证软件部署有效性,从而为进一步定位、解决软件问题提供有力支撑。
2、随着前后端协作模型日益成熟,持续交付部署概念深入人心,前端版本独立于后端且频繁发生交付部署成为日常,大大提高了整体软件交付效率的同时,但是模块化、微服务化的软件架构也造成日常开发联调、产品上线后追踪版本难度加大、沟通成本增加。尤其在前端领域,会受到浏览器缓存等因素影响、且可能引入微前端技术导致软件模型进一步复杂化,从而加剧前端产品部署后版本跟踪和查看的难度。
3、目前,版本的注入和追踪依赖于手工注入版本信息、利用后端服务保存版本信息以及利用文件名保存版本信息。在实际应用中,手工注入版本信息依赖于人工操作,易出错且效率低下,版本信息的准确性和一致性难以保证,且难以适应快速迭代的开发环境;利用后端服务保存版本信息,虽然可以实现自动化,但后端服务的稳定性和可靠性成为关键,服务的故障或架构变更都可能影响版本信息的获取,增加了系统的脆弱性;利用文件名保存版本信息时,微前端技术使得前端架构更加模块化,但同时也增加了版本追踪的难度,因为需要在多个独立的前端模块间进行版本信息的同步和追踪。
4、因此,如何提供一种更加自动化、可靠且易于集成的版本追踪解决方案,以提高运维效率,降低错误率,并提升用户体验,成
技术实现思路
1、有鉴于此,为了克服现有技术的不足,本专利技术旨在提供基于可执行文件标记和跟踪软件版本的方法和系统及设备。
2、根据本专利技术的第一方面,提供一种基于可执行文件标记和跟踪软件版本的方法,包括:
3、提取环境变量信息,根据提取的环境变量信息构建json数据结构,采用构建的json数据结构采集软件版本信息;
4、检查是否需要指定前端文件,根据检查结果获取对应的前端文件,按注入规则将采集的软件版本信息注入对应的前端文件中;
5、在执行软件时通过执行注入软件版本信息的前端文件,加载和查看对应的软件版本信息。
6、优选地,本专利技术基于可执行文件标记和跟踪软件版本的方法,提取环境变量信息,包括:提取用户在编译环境的环境变量信息,该环境变量信息包括:构建时间戳、版本提交哈希、构建分支、产品构建流水线序号以及产品构建流水线执行编号。
7、优选地,本专利技术基于可执行文件标记和跟踪软件版本的方法,根据提取的环境变量信息构建json数据结构,采用构建的json数据结构采集软件版本信息,包括:将环境变量信息按构建分支、构建时间戳、版本提交哈希、产品构建流水线执行编号和产品构建流水线序号的顺序构建json数据结构,采用构建的json数据结构采集对应的环境变量信息对应的数据。
8、优选地,本专利技术基于可执行文件标记和跟踪软件版本的方法,检查是否需要指定前端文件,根据检查结果获取对应的前端文件,包括:检查用户是否指定待注入的前端文件,当用户指定待注入的前端文件,根据用户的指定信息获取指定的前端文件,当用户未指定待注入的前端文件,在执行目录中检索前端执行入口文件,将检索的前端执行入口文件作为待注入的前端文件,当在执行目录中未检索到前端执行入口文件,新建相应前端文件。
9、优选地,本专利技术基于可执行文件标记和跟踪软件版本的方法,前端文件包括javascript文件和html文件。
10、优选地,本专利技术基于可执行文件标记和跟踪软件版本的方法,按注入规则将采集的软件版本信息注入对应的前端文件中,包括:
11、如果前端文件为javascript文件,创建并初始化全局对象,在初始化后的全局对象中设置存储属性对象;
12、采用设置的存储属性对象对通过json数据结构采集的版本信息进行存储;
13、将存储有版本信息的全局对象插入至javascript文件的末尾。
14、优选地,本专利技术基于可执行文件标记和跟踪软件版本的方法,按注入规则将构建的json数据结构作为基础数据注入对应的前端文件中,包括:
15、如果前端文件为html文件,创建并初始化全局对象,在初始化后的全局对象中设置存储属性对象;
16、采用设置的存储属性对象对通过json数据结构采集的版本信息进行存储;
17、采用html文件的script标签对存储有版本信息的全局对象进行包裹,将包裹后的全局对象插入至html文件的头部。
18、优选地,本专利技术基于可执行文件标记和跟踪软件版本的方法,在执行软件时通过执行注入软件版本信息的前端文件,加载和查看对应的软件版本信息,包括:在执行注入软件版本信息的前端文件时,通过调用存储有软件版本信息的全局变量,加载和查看对应的软件版本信息。
19、根据本专利技术的第二方面,提供一种基于可执行文件标记和跟踪软件版本的系统,该系统包括标记和跟踪服务端,该标记和跟踪服务端用于:提取环境变量信息,根据提取的环境变量信息构建json数据结构,采用构建的json数据结构采集软件版本信息;检查是否需要指定前端文件,根据检查结果获取对应的前端文件,按注入规则将采集的软件版本信息注入对应的前端文件中;在执行软件时通过执行注入软件版本信息的前端文件,加载和查看对应的软件版本信息。
20、根据本专利技术的第三方面,提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本专利技术第一方面所述的方法。
21、本专利技术基于可执行文件标记和跟踪软件版本的方法和系统及设备,基于二进制的可执行前端文件实现软件版本信息的注入,通过标准和兼容性好的前端文件以及统一的软件版本信息注入标准,实现不同软件架构场景下的版本信息统一化,实现对软件版本信息进行高效、精确的标记和跟踪;提供了灵活的扩展性和注入方式,具备良好的兼容性和微前端兼容性,支持多种查看方式,并具备优异的成熟度和安全性,有助于开发者更好地管理和监控包括前端应用在内的各种交付产物版本信息。
本文档来自技高网...【技术保护点】
1.一种基于可执行文件标记和跟踪软件版本的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,提取环境变量信息,包括:提取用户在编译环境的环境变量信息,所述环境变量信息包括:构建时间戳、版本提交哈希、构建分支、产品构建流水线序号以及产品构建流水线执行编号。
3.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,根据提取的环境变量信息构建JSON数据结构,采用构建的JSON数据结构采集软件版本信息,包括:将环境变量信息按构建分支、构建时间戳、版本提交哈希、产品构建流水线执行编号和产品构建流水线序号的顺序构建JSON数据结构,采用构建的JSON数据结构采集对应的环境变量信息对应的数据。
4.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,检查是否需要指定前端文件,根据检查结果获取对应的前端文件,包括:检查用户是否指定待注入的前端文件,当用户指定待注入的前端文件,根据用户的指定信息获取指定的前端文件,当用户未指定待注入的前端文件,在执行目录中检索前端执行入口文
5.根据权利要求4所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,前端文件包括JavaScript文件和HTML文件。
6.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,按注入规则将采集的软件版本信息注入对应的前端文件中,包括:
7.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,按注入规则将构建的JSON数据结构作为基础数据注入对应的前端文件中,包括:
8.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,在执行软件时通过执行注入软件版本信息的前端文件,加载和查看对应的软件版本信息,包括:在执行注入软件版本信息的前端文件时,通过调用存储有软件版本信息的全局变量,加载和查看对应的软件版本信息。
9.一种基于可执行文件标记和跟踪软件版本的系统,其特征在于,所述系统包括标记和跟踪服务端,所述标记和跟踪服务端用于:提取环境变量信息,根据提取的环境变量信息构建JSON数据结构,采用构建的JSON数据结构采集软件版本信息;检查是否需要指定前端文件,根据检查结果获取对应的前端文件,按注入规则将采集的软件版本信息注入对应的前端文件中;在执行软件时通过执行注入软件版本信息的前端文件,加载和查看对应的软件版本信息。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-8中任一项所述方法的步骤。
...【技术特征摘要】
1.一种基于可执行文件标记和跟踪软件版本的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,提取环境变量信息,包括:提取用户在编译环境的环境变量信息,所述环境变量信息包括:构建时间戳、版本提交哈希、构建分支、产品构建流水线序号以及产品构建流水线执行编号。
3.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,根据提取的环境变量信息构建json数据结构,采用构建的json数据结构采集软件版本信息,包括:将环境变量信息按构建分支、构建时间戳、版本提交哈希、产品构建流水线执行编号和产品构建流水线序号的顺序构建json数据结构,采用构建的json数据结构采集对应的环境变量信息对应的数据。
4.根据权利要求1所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,检查是否需要指定前端文件,根据检查结果获取对应的前端文件,包括:检查用户是否指定待注入的前端文件,当用户指定待注入的前端文件,根据用户的指定信息获取指定的前端文件,当用户未指定待注入的前端文件,在执行目录中检索前端执行入口文件,将检索的前端执行入口文件作为待注入的前端文件,当在执行目录中未检索到前端执行入口文件,新建相应前端文件。
5.根据权利要求4所述的基于可执行文件标记和跟踪软件版本的方法,其特征在于,前端文件包括javascript文件和...
【专利技术属性】
技术研发人员:黄晏晨,
申请(专利权)人:中电云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。