System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种代码回滚方法、装置、电子设备及存储介质制造方法及图纸_技高网

一种代码回滚方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40874830 阅读:2 留言:0更新日期:2024-04-08 16:43
本申请提供一种代码回滚方法、装置、电子设备及存储介质,可以从仓库拉取目标代码,基于目标代码进行代码工程构建,对代码工程的构建过程和/或构建结果进行异常检测,得到检测结果,在根据检测结果确定代码工程构建异常时,确定代码工程出现构建异常时所处的构建环节,根据构建环节确定并执行对应的回滚策略,由于在本申请中可以自动对代码工程的构建过程和/或构建结果进行异常检测,得到检测结果,并可以根据该检测结果自动确定对应的回滚策略并执行对应的回滚策略,相对现有方案而言,降低了对开发用户的依赖,降低了人工介入的错误率,提高了软件异常检测的准确性和及时性,增强了软件的可靠性和稳定性。

【技术实现步骤摘要】

本申请涉及代码回滚,特别是涉及一种代码回滚方法、装置、电子设备及存储介质


技术介绍

1、代码开发时所使用的机器称为开发机,运行代码并为用户提供服务的服务器称为线上服务器,代码发布这个应用场景可以抽象为将程序代码从开发机拷贝到线上服务器。为了进行代码的发布管理,人们进行了代码发布方案的开发。

2、在进行软件开发的过程中,开发用户需要实时监控开发环节中软件代码的质量,若存在质量问题,通常需要开发用户手动进行代码回滚。

3、以jenkins为例,jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。在基于jenkins进行软件开发时,通常由开发用户主动监控软件的质量,若出现质量问题,通常需要由开发用户手动回滚代码,对开发用户的专业能力要求较高。


技术实现思路

1、本申请实施例的目的在于提供一种代码回滚方法、装置、电子设备及存储介质,以解决上述技术问题。

2、一方面,提供一种代码回滚方法,所述方法包括:

3、从仓库拉取目标代码;

4、基于所述目标代码进行代码工程构建;

5、对所述代码工程的构建过程和/或构建结果进行异常检测,得到检测结果;

6、在根据所述检测结果确定所述代码工程构建异常时,确定所述代码工程出现构建异常时所处的构建环节;

7、根据所述构建环节确定对应的回滚策略;

8、执行所述回滚策略。

9、在其中一个实施例中,所述对所述代码工程的构建过程进行异常检测,得到检测结果,包括:

10、在对所述代码工程编译前,对所述代码工程的编译前指标进行异常检测,得到第一检测结果;所述编译前指标包括:代码格式规范程度、函数调用规范程度、文件引用规范程度、库文件的完整度、算法效率以及底层代码与应用层代码之间的适配度中的至少一种;

11、和/或,

12、在对所述代码工程编译中,对所述代码工程的编译中指标进行异常检测,得到第二检测结果;所述编译中指标包括:编译过程中的报错数量、编译过程中的最大错误程度以及编译过程中的警告信息中的至少一种;

13、和/或,

14、在对所述代码工程编译后,对所述代码工程的编译后指标进行异常检测,得到第三检测结果;所述编译后指标包括:编译后得到的编译文件的文件列表完整度、所述编译文件的文件大小、所述编译文件的文件生成时间、所述编译文件的文件签名、所述编译文件中目标数据的完整度中的至少一种。

15、在其中一个实施例中,所述对所述代码工程的构建结果进行异常检测,得到检测结果,包括:

16、在对所述代码工程构建成功,得到对应的软件后,对所述软件进行功能检测,并根据功能检测结果判断所述软件的功能是否满足预设的功能要求;

17、和/或,

18、在对所述代码工程构建成功,得到对应的软件后,对所述软件进行性能检测,并根据性能检测结果判断所述软件的性能是否满足预设的性能指标要求。

19、在其中一个实施例中,所述根据所述构建环节确定对应的回滚策略,包括:

20、当所述构建环节为所述代码工程构建成功得到软件之后的第一环节时,确定与所述第一环节对应的回滚策略为:将当前版本的软件回滚至历史版本的软件,或不进行回滚。

21、在其中一个实施例中,所述对所述代码工程的构建结果进行异常检测,得到检测结果,包括:

22、在对所述代码工程构建成功,得到对应的软件后,先对所述软件进行功能检测,并在根据功能检测结果确定所述软件的功能满足预设的功能要求之后,再对所述软件进行性能检测,并根据性能检测结果判断所述软件的性能是否满足预设的性能指标要求;

23、所述根据所述构建环节确定对应的回滚策略,包括:

24、当所述第一环节为对所述软件进行功能检测的功能检测环节时,确定与所述第一环节对应的回滚策略为:将当前版本的软件回滚至历史版本的软件;

25、当所述第一环节为所述软件进行性能检测的性能检测环节时,确定与所述第一环节对应的回滚策略为:不进行回滚。

26、在其中一个实施例中,所述根据所述构建环节确定对应的回滚策略,包括:

27、当所述构建环节为所述代码工程构建成功得到软件之前的第二环节时,根据所述检测结果判断引发所述代码工程构建异常的因素是否为环境因素;

28、如是,确定与所述第二环节对应的回滚策略为:将所述代码工程的版本回滚至上一构建环节结束时对应的版本;

29、如否,确定与所述第二环节对应的回滚策略为:将所述目标代码回滚至历史版本。

30、在其中一个实施例中,所述根据所述构建环节确定对应的回滚策略,包括:

31、当所述第二环节为应用层代码生成环节时,若确定引发所述代码工程构建异常的因素为非环境因素,确定与所述第二环节对应的回滚策略为:将所述目标代码中当前版本的应用层代码回滚至历史版本;

32、和/或,

33、当所述第二环节为底层代码编译环节时,若确定引发所述代码工程构建异常的因素为非环境因素,确定与所述第二环节对应的回滚策略为:将所述目标代码中当前版本的底层代码回滚至历史版本;

34、和/或,

35、当所述第二环节为待链接代码与库文件的链接环节时,若确定引发所述代码工程构建异常的因素为非环境因素,确定与所述第二环节对应的回滚策略为:将所述目标代码中当前版本的待链接代码回滚至历史版本。

36、另一方面,提供了一种代码回滚装置,所述装置包括:

37、拉取模块,用于从仓库拉取目标代码;

38、构建模块,用于基于所述目标代码进行代码工程构建;

39、检测模块,用于对所述代码工程的构建过程和/或构建结果进行异常检测,得到检测结果;

40、第一确定模块,用于在根据所述检测结果确定所述代码工程构建异常时,确定所述代码工程出现构建异常时所处的构建环节;

41、第二确定模块,用于根据所述构建环节确定对应的回滚策略;

42、执行模块,用于执行所述回滚策略。

43、另一方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,以实现上述任一所述的方法。

44、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时,以实现上述任一所述的方法。

45、本申请提供的代码回滚方法、装置、电子设备及存储介质,可以从仓库拉取目标代码,基于目标代码进行代码工程构建,对代码工程的构建过程和/或构建结果进行异常检测,得到检测结果,在根据检测结果确定代码工程构建异常时,确定代码工程出现构建异常时所处的构建环节,根据构建环节确定并执行对应的本文档来自技高网...

【技术保护点】

1.一种代码回滚方法,其特征在于,包括:

2.如权利要求1所述的代码回滚方法,其特征在于,所述对所述代码工程的构建过程进行异常检测,得到检测结果,包括:

3.如权利要求1所述的代码回滚方法,其特征在于,所述对所述代码工程的构建结果进行异常检测,得到检测结果,包括:

4.如权利要求3所述的代码回滚方法,其特征在于,所述根据所述构建环节确定对应的回滚策略,包括:

5.如权利要求4所述的代码回滚方法,其特征在于,所述对所述代码工程的构建结果进行异常检测,得到检测结果,包括:

6.如权利要求1所述的代码回滚方法,其特征在于,所述根据所述构建环节确定对应的回滚策略,包括:

7.如权利要求6所述的代码回滚方法,其特征在于,所述根据所述构建环节确定对应的回滚策略,包括:

8.一种代码回滚装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,以实现如权利要求1-7中任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时,以实现如权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种代码回滚方法,其特征在于,包括:

2.如权利要求1所述的代码回滚方法,其特征在于,所述对所述代码工程的构建过程进行异常检测,得到检测结果,包括:

3.如权利要求1所述的代码回滚方法,其特征在于,所述对所述代码工程的构建结果进行异常检测,得到检测结果,包括:

4.如权利要求3所述的代码回滚方法,其特征在于,所述根据所述构建环节确定对应的回滚策略,包括:

5.如权利要求4所述的代码回滚方法,其特征在于,所述对所述代码工程的构建结果进行异常检测,得到检测结果,包括:

6.如权利要求1所述的代码回滚方法,...

【专利技术属性】
技术研发人员:梁加兴王进刘汉陈路生黄秋涵
申请(专利权)人:赛力斯汽车有限公司
类型:发明
国别省市:

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

1