一种代码迁移方法、装置、电子设备及存储介质与流程

文档序号:32612589发布日期:2022-12-20 20:28阅读:39来源:国知局
一种代码迁移方法、装置、电子设备及存储介质与流程

1.本技术涉及数据处理技术领域,尤其涉及一种代码迁移方法、装置、电子设备及存储介质。


背景技术:

2.对代码的配置管理工具进行切换是不可避免的。例如,相关技术中可以使用clearcase(cc)作为代码的配置管理工具,通过cc的集中式和排它性特性,最大程度避免了多人同时修改同一个代码文件所造成的代码冲突及合并,保障系统的安全稳定。然而,cc难以支持代码的敏捷开发,随着银行等企业的业务和市场的发展,需要企业快速响应市场,代码需要被敏捷开发,适合敏捷开发代码的配置管理工具gitee等应运而生,为了可以支持代码的敏捷开发,就需要将代码的配置管理工具由cc切换为gitee等。
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示出了一些实施例提供的第一种代码迁移过程示意图;
46.图2示出了一些实施例提供的第二种代码迁移过程示意图;
47.图3示出了一些实施例提供的第三种代码迁移过程示意图;
48.图4示出了一些实施例提供的第四种代码迁移过程示意图;
49.图5示出了一些实施例提供的第五种代码迁移过程示意图;
50.图6示出了一些实施例提供的一种代码迁移装置示意图;
51.图7示出了一些实施例提供的一种电子设备结构示意图。
具体实施方式
52.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进
一步的详细描述,显然,本技术所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
53.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
54.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
55.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
56.术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
57.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
58.为了在对代码的配置管理工具进行切换时,可以平稳准确地对代码进行迁移,本技术提供了一种代码迁移方法、装置、电子设备及存储介质。
59.实施例1:
60.本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
61.图1示出了一些实施例提供的第一种代码迁移过程示意图,如图1所示,该过程包括以下步骤:
62.s101:针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支。
63.本技术实施例提供的代码迁移方法应用于电子设备,该电子设备例如可以是pc、移动终端等设备,也可以是服务器等设备。
64.在一种可能的实施方式中,以旧配置管理工具为clearcase(cc)为例,基于cc开发的代码除了包含已经开发完成,已经在生产环境投产的代码之外,还可能包含大量尚在开发过程中的并行开发代码等,如果将大量并行开发代码等均按照设定的切换时间,从旧配置管理工具的旧代码库直接迁移到新配置管理工具的新代码库,可能会出现大量的代码冲突,冲突处理稍有不慎,就可能用错误的代码覆盖正确代码,可能造成生产问题等事故。在一种可能的实施方式中,为了在对代码的配置管理工具进行切换时,可以平稳安全准确地对代码进行迁移,本技术实施例针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,可以基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具
中,各原目标分支各自对应的新目标分支。其中,本技术对每次进行代码迁移的原目标分支的数量不做具体限定,可以根据需求灵活设置,可选的,为了提高代码迁移过程的平稳性、安全性和准确性,每次进行代码迁移的原目标分支的数量可以为1、2等较少的数值。以每次进行代码迁移的原目标分支的设定数量为1为例,也就是说,每次只对1个原目标分支的代码进行迁移。
65.在一种可能的实施方式中,为了提高代码迁移过程的平稳性、安全性和准确性,可以预先保存旧配置管理工具的原分支与新配置管理工具的新分支的对应关系,其中,原分支与新分支的对应关系可以根据需求灵活设置,本技术对此不作具体限定。
66.s102:针对每个原目标分支,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将所述目标代码确定为相应的新目标分支对应的代码,将所述目标代码保存到所述新配置管理工具对应的新代码库中。
67.在一种可能的实施方式中,为了在对代码的配置管理工具进行切换时,可以平稳安全准确地对代码进行迁移,针对当前已经在开发测试过程中的并行开发代码,可以依旧基于旧配置管理工具,在旧配置管理工具对应的旧代码库中开发相应的代码,针对每个原目标分支,可以在该原目标分支的代码已被开发完成并投产之后,再对该原目标分支的代码进行代码迁移。在一种可能的实施方式中,当原目标分支的代码已经被开发完成并投产之后,开发人员等可以对该原目标分支配置代码已被开发完成并投产的标识,电子设备基于该标识,可以识别到该原目标分支对应的目标代码已被开发完成并投产,可以针对该原目标分支,进行从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码,将该目标代码确定为相应的新目标分支对应的代码,将目标代码保存到新配置管理工具对应的新代码库中的代码迁移过程。
68.为方便理解,下面通过一个具体实施例对本技术提供的代码迁移过程进行说明。图2示出了一些实施例提供的第二种代码迁移过程示意图,如图2所示,该过程包括以下步骤:
69.s201:针对旧配置管理工具中需要进行代码迁移的某个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,该原目标分支对应的新目标分支。
70.s202:若识别到原目标分支对应的目标代码已被开发完成并投产,则从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将该目标代码确定为相应的新目标分支对应的代码,将该目标代码保存到新配置管理工具对应的新代码库中。
71.在一种可能的实施方式中,在对代码的配置管理工具进行切换时,针对尚未进行代码开发的新需求,可以直接基于新配置管理工具,在新配置管理工具对应的新代码库中基于当前生产代码开发该新需求适用的代码。
72.由于本技术可以针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支;并针对每个原目标分支,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将该目标代码确定为相应的新目标分支对应的代码,并将目标代码保存到新配置管理工具对应的新代码库中,基于此,可以实现在对代码的配置管理工具进行切换时,可以平稳安全准确地对代码进行迁移的目的。
73.实施例2:
74.本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
75.在一种可能的实施方式中,将原目标分支对应的目标代码确定为新目标分支对应的代码,即进行代码迁移之后,需要对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证,以确保原目标分支对应的目标代码与相应的新目标分支对应的代码的一致性,确保代码迁移的准确性。在一种可能的实施方式中,在对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证的过程可以如下:
76.针对每个原目标分支,下载旧代码库中,该原目标分支对应的目标代码。同时,还可以下载新代码库中,该原目标分支对应的新目标分支的代码。然后将下载的原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果(为方便描述,将原目标分支对应的目标代码与相应的新目标分支对应的代码的比对结果,称为第二比对结果)。可选的,可以基于文件比对工具(bcompare)对原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,该第二比对结果中可以包含原目标分支对应的目标代码与相应的新目标分支对应的代码存在差异的文件列表以及具体的差异内容等,可以基于该第二比对结果,对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证。
77.在一种可能的实施方式中,当第二比对结果为原目标分支对应的目标代码与相应的新目标分支对应的代码相同时,可以输出代码相同的验证通过信息。当第二比对结果为原目标分支对应的目标代码与相应的新目标分支对应的代码不相同时,第二比对结果中可以包含原目标分支对应的目标代码与相应的新目标分支对应的代码存在差异的文件列表以及具体的差异内容等,并输出设定的代码不相同的验证不通过提示信息,提醒开发人员查找差异原因,并重新进行上述对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证的过程,直到原目标分支对应的目标代码与相应的新目标分支对应的代码相同为止。
78.为方便理解,下面通过一个具体实施例对本技术提供的代码迁移过程进行说明。图3示出了一些实施例提供的第三种代码迁移过程示意图,如图3所示,该过程包括以下步骤:
79.s301:针对旧配置管理工具中需要进行代码迁移的某个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,该原目标分支对应的新目标分支。
80.s302:若识别到原目标分支对应的目标代码已被开发完成并投产,则从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将该目标代码确定为相应的新目标分支对应的代码,将该目标代码保存到新配置管理工具对应的新代码库中。
81.s303:下载旧代码库中,原目标分支对应的目标代码,并下载新代码库中,原目标分支对应的新目标分支的代码;将下载的原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,基于第二比对结果,对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证。
82.由于本技术可以对原目标分支对应的目标代码与相应的新目标分支对应的代码
是否相同进行验证,可以提高代码迁移的准确性。
83.实施例3:
84.本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
85.在一种可能的实施方式中,将原目标分支对应的目标代码确定为新目标分支对应的代码,即进行代码迁移之后,需要对基于原目标分支对应的目标代码生成的代码执行结果(即版本包制品,为方便描述,将基于原目标分支对应的目标代码生成的版本包制品称为第二版本包制品)与基于新目标分支对应的代码生成的版本包制品(为方便描述,将基于新目标分支对应的代码生成的版本包制品称为第一版本包制品)是否相同进行验证,以确保第一版本包制品和第二版本包制品的一致性,确保代码迁移的准确性。在一种可能的实施方式中,对代码执行结果(第一版本包制品和第二版本包制品)是否相同的验证过程可以如下:
86.针对每个原目标分支,基于新配置管理工具对应的新流水线,运行相应的新目标分支(该原目标分支对应的新目标分支)的代码,从而生成第一版本包制品;同时,还可以基于旧配置管理工具对应的旧流水线,运行该原目标分支中的目标代码,从而生成第二版本包制品。通过bcompare等将第一版本包制品与第二版本包制品进行比对,生成第一比对结果(为方便描述,将第一版本包制品和第二版本包制品的比对结果,称为第一比对结果),可以基于第一比对结果,对原目标分支对应的目标代码与相应的新目标分支对应的代码的代码执行结果是否相同进行验证。
87.在一种可能的实施方式中,当第一比对结果为第一版本包制品和第二版本包制品相同时,可以输出代码执行结果相同或者第一版本包制品与第二版本包制品相同的验证通过信息。当第一比对结果为第一版本包制品和第二版本包制品不相同时,第一比对结果中可以包含第一版本包制品和第二版本包制品存在差异的信息,并输出设定的代码执行结果不相同的验证不通过提示信息,提醒开发人员查找差异原因,并可以重新对该原目标分支的代码进行代码迁移,直到原目标分支对应的目标代码与相应的新目标分支对应的代码的代码执行结果(第一版本包制品和第二版本包制品)相同为止。
88.由于本技术可以对原目标分支对应的目标代码与相应的新目标分支对应的代码的代码执行结果是否相同进行验证,可以提高代码迁移的准确性。
89.为方便理解,下面通过一个具体实施例对本技术提供的代码迁移过程进行说明。图4示出了一些实施例提供的第四种代码迁移过程示意图,如图4所示,该过程包括以下步骤:
90.s401:针对旧配置管理工具中需要进行代码迁移的某个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,该原目标分支对应的新目标分支。
91.s402:若识别到原目标分支对应的目标代码已被开发完成并投产,则从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将该目标代码确定为相应的新目标分支对应的代码,将该目标代码保存到新配置管理工具对应的新代码库中。
92.s403:基于新配置管理工具对应的新流水线,运行原目标分支对应的新目标分支的代码,生成第一版本包制品;并基于旧配置管理工具对应的旧流水线,运行原目标分支中
的目标代码,生成第二版本包制品;将第一版本包制品与第二版本包制品进行比对,生成第一比对结果,基于第一比对结果,对代码执行结果是否相同进行验证。
93.s404:下载旧代码库中,原目标分支对应的目标代码,并下载新代码库中,原目标分支对应的新目标分支的代码;将下载的原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,基于第二比对结果,对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证。
94.其中,上述实施例只是示例性说明,本技术对s403和s404之间的先后顺序不作具体限定,例如可以先进行s403中对原目标分支对应的目标代码与相应的新目标分支对应的代码的代码执行结果是否相同进行验证的步骤,也可以先进行s404中对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证的步骤,也可以同时进行s403和s404。
95.实施例4:
96.本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
97.在对代码进行迁移的过程中,需要保证代码从旧配置管理工具的旧代码库迁移到新配置管理的新代码库中后,代码本身不发生变化或者改动。在一种可能的实施方式中,为了保证代码迁移的平稳性和准确性,在对目标代码进行迁移之前,可以对迁移到新代码库中的基准代码与旧代码库中的基准代码是否相同进行验证,若迁移到新代码库中的基准代码与旧代码库中的基准代码相同,则验证通过,可以考虑进行后续对目标代码的代码迁移工作。若迁移到新代码库中的基准代码与旧代码库中的基准代码不相同,则验证不通过,开发人员可以查找差异原因,重新进行对迁移到新代码库中的基准代码与旧代码库中的基准代码是否相同进行验证的过程,直到验证通过。
98.在一种可能的实施方式中,对迁移到新代码库中的代码(基准代码)与旧代码库中的代码(基准代码)是否相同进行验证的过程可以如下:
99.将在旧代码库中指定的基准代码复制到新代码库中;下载旧代码库中的基准代码,并下载新代码库中的基准代码;通过bcompare等,将下载的旧代码库中的基准代码与下载的新代码库中的基准代码进行比对,生成第三比对结果,基于第三比对结果,对迁移到新代码库中的基准代码与旧代码库中的基准代码(为方便描述,称为新旧代码库中的基准代码)是否相同进行验证。可选的,如果第三比对结果为新旧代码库中的基准代码相同,则可以输出新旧代码库中的基准代码相同的验证通过信息,可以考虑进行后续对目标代码的代码迁移工作。如果第三比对结果为新旧代码库中的基准代码不相同,第三比对结果中可以包含新代码库中的基准代码与旧代码库中的基准代码存在差异的内容清单等,并可以输出设定的新旧代码库中的基准代码不相同的验证不通过信息,提醒开发人员可以查找差异原因,并重新进行上述对迁移到新代码库中的基准代码与旧代码库中的基准代码是否相同的验证过程,直到验证通过。
100.在一种可能的实施方式中,为了保证代码迁移的平稳性和准确性,在对代码进行迁移之前,还可以对新流水线是否能够准确的拉取到正确完整的代码(获取代码)进行验证。可选的,可以基于开发人员指定的基准代码执行对新流水线是否能够准确的获取代码的验证过程,对新流水线是否能够准确的获取代码的验证过程可以如下:
101.将在旧配置管理工具对应的旧代码库中指定的基准代码复制到新配置管理工具对应的新代码库中,基于新配置管理工具对应的新流水线,从新代码库中,获取该基准代码,可以通过bcompare等对新流水线获取的基准代码与新代码库中保存的基准代码进行比对,生成第四比对结果,基于第四比对结果,对新流水线获取的代码是否正确进行验证。
102.在一种可能的实施方式中,当第四比对结果为新流水线获取的基准代码与新代码库中保存的基准代码相同时,可以输出新流水线获取代码正确的验证通过信息。当第四比对结果为新流水线获取的基准代码与新代码库中保存的基准代码不相同时,第四比对结果中可以包含新流水线获取的基准代码与新代码库中保存的基准代码存在差异的内容清单等,并输出设定的新流水线获取代码不正确的验证不通过提示信息,提醒开发人员查找差异原因,并可以重新进行上述对新流水线是否能够准确(正确)的获取代码的验证过程,直到验证通过。
103.在一种可能的实施方式中,除了对迁移到新代码库中的代码(基准代码)与旧代码库中的代码(基准代码)是否相同进行验证、以及对新流水线获取的代码是否正确进行验证之外,还可以对新流水线获取的代码与旧流水线获取的代码(为方便描述,称为新旧流水线获取的代码)是否一致进行验证,保证针对同一代码,新旧流水线获取的代码相同,进而才能保证在代码迁移后,新流水线和旧流水线的代码执行结果一致等。
104.可选的,可以基于开发人员指定的基准代码执行对新旧流水线获取的代码是否一致的验证过程,该验证过程可以如下:
105.将开发人员等在旧代码库中指定的基准代码复制到新代码库中。基于旧配置管理工具对应的旧流水线,从旧代码库中获取基准代码;同时基于新配置管理工具对应的新流水线,从新代码库中获取基准代码。可以通过bcompare等,对旧流水线获取的基准代码与新流水线获取的基准代码进行比对,生成相应的第五比对结果,基于第五比对结果,对新旧流水线获取的代码是否一致进行验证。
106.在一种可能的实施方式中,当第五比对结果为新旧流水线获取的代码相同时,可以输出新旧流水线获取代码相同的验证通过信息。当第五比对结果为新旧流水线获取的代码不相同时,第五比对结果中可以包含新流水线获取的代码(基准代码)与旧流水线获取的代码(基准代码)存在差异的内容清单等,并输出设定的新旧流水线获取代码不相同的验证不通过提示信息,提醒开发人员查找差异原因,并可以重新进行上述对新旧流水线获取的代码是否一致的验证过程,直到验证通过。
107.在一种可能的实施方式中,在进行代码迁移之前,还可以对新流水线和旧流水线针对同一代码的代码执行结果是否相同进行验证,如果新流水线和旧流水线针对同一代码的代码执行结果相同,再进行后续代码迁移的过程,以保证代码迁移的平稳性和准确性。可选的,在进行代码迁移之前,对新流水线和旧流水线针对同一代码的代码执行结果是否相同的验证过程可以如下:
108.将开发人员等在旧代码库中指定的基准代码复制到新代码库中,基于新配置管理工具对应的新流水线,运行新代码库中保存的基准代码,生成第三版本包制品,并基于旧配置管理工具对应的旧流水线,运行旧代码库中保存的基准代码,生成第四版本包制品。通过bcompare等将第三版本包制品与第四版本包制品进行比对,生成第六比对结果,基于第六比对结果,对代码执行结果是否相同进行验证。
109.在一种可能的实施方式中,当第六比对结果为第三版本包制品与第四版本包制品相同时,可以输出新旧流水线的代码执行结果相同的验证通过信息。当第六比对结果为第三版本包制品与第四版本包制品不相同时,第六比对结果中可以包含第三版本包制品与第四版本包制品存在差异的内容清单等,并输出设定的新旧流水线的代码执行结果不相同的验证不通过提示信息,提醒开发人员查找差异原因,并可以重新进行上述对新流水线和旧流水线针对同一代码的代码执行结果是否相同的验证过程,直到验证通过。
110.为方便理解,下面再通过一个具体实施例对本技术提供的代码迁移过程进行说明。图5示出了一些实施例提供的第五种代码迁移过程示意图,如图5所示,该过程包括以下步骤:
111.s501:将在旧代码库中指定的基准代码复制到新代码库中;下载旧代码库中的基准代码,并下载新代码库中的基准代码;将下载的旧代码库中的基准代码与下载的所述新代码库中的基准代码进行比对,生成第三比对结果,基于第三比对结果,对新旧代码库中的基准代码是否相同进行验证;若验证通过,则进行s502。
112.s502:基于新配置管理工具对应的新流水线,从新代码库中获取基准代码;对新流水线获取的基准代码与新代码库中保存的基准代码进行比对,生成第四比对结果,基于第四比对结果,对新流水线获取的代码是否正确进行验证;若验证通过,则进行s503。
113.s503:基于旧配置管理工具对应的旧流水线,从旧代码库中,获取基准代码;对旧流水线获取的基准代码与新流水线获取的基准代码进行比对,生成相应的第五比对结果,基于第五比对结果,对新旧流水线获取的代码是否一致进行验证;若验证通过,则进行s504。
114.s504:基于新配置管理工具对应的新流水线运行基准代码,生成第三版本包制品,并基于旧配置管理工具对应的旧流水线运行基准代码,生成第四版本包制品;将第三版本包制品与第四版本包制品进行比对,生成第六比对结果,基于第六比对结果,对代码执行结果是否相同进行验证;若验证通过,则进行s505。
115.s505:针对旧配置管理工具中需要进行代码迁移的某个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,该原目标分支对应的新目标分支。
116.s506:若识别到原目标分支对应的目标代码已被开发完成并投产,则从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将该目标代码确定为相应的新目标分支对应的代码,将该目标代码保存到新配置管理工具对应的新代码库中。
117.s507:下载旧代码库中,原目标分支对应的目标代码,并下载新代码库中,原目标分支对应的新目标分支的代码;将下载的原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,基于第二比对结果,对原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证。
118.s508:基于新配置管理工具对应的新流水线,运行原目标分支对应的新目标分支的代码,生成第一版本包制品;并基于旧配置管理工具对应的旧流水线,运行原目标分支中的目标代码,生成第二版本包制品;将第一版本包制品与第二版本包制品进行比对,生成第一比对结果,基于第一比对结果,对代码执行结果是否相同进行验证。
119.为方便理解,下面再通过一个具体实施例对本技术提供的代码迁移方法的实施过
程进行举例说明。代码迁移工作的具体实施过程主要包含迁移准备工作、代码迁移过程以及迁移后的验证工作等三大部分,下面分别对这三大部分工作进行示例性说明。
120.迁移准备工作:
121.在迁移准备工作中,可以创建新配置管理工具的新代码库,并对迁移到新代码库中的代码(如基准代码)与旧代码库中的代码(如基准代码)是否相同进行验证。在迁移准备工作中可以先指定基准代码,以新配置管理工具为gitee,旧配置管理工具为cc为例,可以创建gitee的新代码库,此时gitee的新代码库可以为空代码库,并将gitee的新代码库克隆(clone)到本地。将指定的基准代码从cc旧代码库下载到本地,接着将基准代码拷贝到本地gitee新代码库,再通过相应的添加命令(如git add)、提交命令(如git commit)、推送命令(如git push)将基准代码推送到gitee新代码库服务器上。
122.对迁移到新代码库中的代码与旧代码库中的代码是否相同进行验证的过程可以为:
123.将在cc等旧代码库中指定的基准代码复制到gitee等新代码库中;下载cc等旧代码库中的基准代码,并下载gitee等新代码库中的基准代码;通过bcompare等,将下载的cc等旧代码库中的基准代码与下载的gitee等新代码库中的基准代码进行比对,生成第三比对结果,基于第三比对结果,对迁移到新代码库中的基准代码与旧代码库中的基准代码(为方便描述,称为新旧代码库中的基准代码)是否相同进行验证。其中,基于第三比对结果,对新旧代码库中的基准代码是否相同进行验证的过程与上述实施例相同,在此不再赘述。
124.在代码迁移前的准备工作(迁移准备工作)中,还可以创建新配置管理工具的新流水线,并对新流水线是否能够准确的获取代码进行验证。对新流水线是否能够准确的获取代码的验证过程可以如下:
125.将在旧配置管理工具对应的旧代码库中指定的基准代码复制到新配置管理工具对应的新代码库中,基于新配置管理工具对应的新流水线,从新代码库中获取该基准代码,通过bcompare等对新流水线获取的基准代码与新代码库中保存的基准代码进行比对,生成第四比对结果,基于第四比对结果,对新流水线获取的代码是否正确(准确)进行验证。其中,对新流水线获取的代码是否准确的验证过程与上述实施例相同,在此不再赘述。
126.在代码迁移前的准备工作中,还可以对新流水线获取的代码与旧流水线获取的代码(新旧流水线获取的代码)是否一致进行验证,对新旧流水线获取的代码是否一致的验证过程可以如下:
127.将旧代码库中指定的基准代码复制到新代码库中。基于旧配置管理工具对应的旧流水线,从旧代码库中获取基准代码;同时基于新配置管理工具对应的新流水线,从新代码库中获取基准代码。对旧流水线获取的基准代码与新流水线获取的基准代码进行比对,生成相应的第五比对结果,基于所述第五比对结果,对新旧流水线获取的代码是否一致进行验证。其中,对新旧流水线获取的代码是否一致的验证过程与上述实施例相同,在此不再赘述。
128.在代码迁移前的准备工作中,还可以对新流水线和旧流水线针对同一代码的代码执行结果是否相同进行验证,如果新流水线和旧流水线针对同一代码的代码执行结果相同,再进行后续代码迁移的过程,以保证代码迁移的平稳性和准确性。可选的,在进行代码迁移之前,对新流水线和旧流水线针对同一代码的代码执行结果是否相同的验证过程可以
如下:
129.将开发人员等在旧代码库中指定的基准代码复制到新代码库中,基于新配置管理工具对应的新流水线,运行新代码库中保存的基准代码,生成第三版本包制品,并基于旧配置管理工具对应的旧流水线,运行旧代码库中保存的基准代码,生成第四版本包制品。通过bcompare工具等将第三版本包制品与第四版本包制品进行比对,生成第六比对结果,基于第六比对结果,对代码执行结果是否相同进行验证。其中,对新流水线和旧流水线针对同一代码的代码执行结果是否相同的验证过程与上述实施例相同,在此不再赘述。
130.迁移准备工作准备好之后,可以进行正式的代码迁移过程,代码迁移过程可以如下:
131.在一种可能的实施方式中,针对旧配置管理工具中需要进行代码迁移的某个原目标分支,可以基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,该原目标分支对应的新目标分支。若识别到原目标分支对应的目标代码已被开发完成并投产,则从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将该目标代码确定为相应的新目标分支对应的代码,将该目标代码保存到新配置管理工具对应的新代码库中。
132.在一种可能的实施方式中,可以采用逐条消减(也可称为逐分支消减)的方式来进行代码迁移过程。例如,针对cc等旧配置管理工具中的一个原目标分支,可以在该原目标分支对应的目标代码被开发完成并投产后,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将该目标代码确定为相应的新目标分支对应的代码,将该目标代码保存到新配置管理工具对应的新代码库中,同时可以将在旧代码库中该原目标分支的代码进行消减。
133.针对逐条消减的代码迁移方式,每一个原目标分支的代码进行迁移后,均需要对该原目标分支的代码迁移是否准确进行验证。代码迁移后的验证工作包括:
134.对原目标分支对应的目标代码与新目标分支对应的代码是否相同进行验证、对代码执行结果是否相同进行验证,其中,对原目标分支对应的目标代码与新目标分支对应的代码是否相同进行验证的过程包括:
135.针对某个原目标分支,下载旧代码库中,该原目标分支对应的目标代码,并下载新代码库中,该原目标分支对应的新目标分支的代码;将下载的原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,基于第二比对结果,对原目标分支对应的目标代码与新目标分支对应的代码是否相同进行验证。其中,对原目标分支对应的目标代码与新目标分支对应的代码是否相同的验证过程与上述实施例相同,在此不再赘述。
136.对代码执行结果是否相同的验证过程包括:
137.针对某个原目标分支,基于新配置管理工具对应的新流水线,运行该原目标分支对应的新目标分支的代码,生成第一版本包制品;并基于旧配置管理工具对应的旧流水线,运行该原目标分支中的目标代码,生成第二版本包制品;将第一版本包制品与第二版本包制品进行比对,生成第一比对结果,基于第一比对结果,对代码执行结果是否相同进行验证。其中,对代码执行结果是否相同的验证过程与上述实施例相同,在此不再赘述。
138.在对代码的配置管理工具进行切换时,针对尚未进行代码开发的新需求,可以直
接基于新配置管理工具,在新配置管理工具对应的新代码库中基于当前生产代码开发该新需求适用的代码。针对已经基于cc等旧配置管理工具并行开发的原目标分支的代码,可以仍基于cc等旧配置管理工具开发相应代码,待代码开发完成并投产后,将基于cc等旧配置管理工具开发的每个原目标分支的代码均迁移到新配置管理工具相应的新目标分支中后,可以认为完成了整个代码迁移工作,后续可以基于新配置管理工具如gitee进行代码开发及投产事项。逐条消减的代码迁移方式虽然代码迁移的整个时间周期可能会被拉长,但在冲突处理方面的代价最小,对于代码量比较大,且并行开发强度较高的系统来说,不失为一种较优的选择。
139.以旧配置管理工具为cc为例,基于旧配置管理工具进行代码开发并投产的过程可以包括:开发人员在分配好的开发分支上开发代码并提交;将代码从开发分支合并到集成分支;对集成分支打标签,使用icdp流水线构建版本(获取源码、编码、生成版本包制品等);对生成的版本包制品进行测试,如果测试无误,将版本包制品发送到生产版本机,在约定的投产日生效生产环境,实现投产。在一种可能的实施方式中,需要进行代码迁移的原目标分支可以为集成分支中的任一分支。
140.在一种可能的实施方式中,将配置管理工具切换为新配置管理工具后,例如需要对当前生产代码的版本进行更新,更新为本次要投产的代码的版本时,可以对不同版本的代码进行比对,并展示对不同版本的代码的比对结果,供开发人员对比对结果中不同版本的代码的差异内容进行确认,以防止代码漏提交、合并代码或是改错代码等事故。在一种可能的实施方式中,在将配置管理工具切换为新配置管理工具后,对不同版本的代码进行比对时,可以构建用于代码比对的新源码比对脚本,基于新源码比对脚本对进行对不同版本的代码(源码)比对工作。可选的,新源码比对脚本可以包含新代码库地址、当前生产代码版本中需要的比对的字段标识tag(为方便描述,称为旧版本字段标识),本次要投产的代码的版本需要比对的字段标识tag(为方便描述,称为新版本字段标识)等参数,新源码比对脚本可以根据这些参数,将新代码库地址对应的新代码库中的代码克隆到本地,然后进入克隆到本地的新代码库中将旧版本字段标识与新版本字段标识对应的代码内容进行比对,输出(展示)的比对结果中可以包含存在差异的文件清单以及相应的修改人信息(可以为txt格式)、具体差异文件内容(可以为html格式)等,供开发人员对比对结果中不同版本的代码的差异内容进行参考和确认。可选的,新源码比对脚本执行结束后,即比对结束后,新源码比对脚本可以删除保存在本地的新代码库,以释放本地硬盘空间等。
141.实施例5:
142.本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
143.基于相同的技术构思,本技术提供了一种代码迁移装置,图6示出了一些实施例提供的一种代码迁移装置示意图,该装置包括:
144.确定模块61,用于针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支;
145.迁移模块62,用于针对每个原目标分支,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将所述目标代码确定为相应的新目标分支对应的代码,
将所述目标代码保存到所述新配置管理工具对应的新代码库中。
146.在一种可能的实施方式中,所述确定模块61,还用于针对每个原目标分支,若识别到该原目标分支对应的目标代码被开发完成并投产,则进行针对每个原目标分支,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码的步骤。
147.在一种可能的实施方式中,所述装置还包括:
148.验证模块,用于针对每个原目标分支,基于所述新配置管理工具对应的新流水线,运行该原目标分支对应的新目标分支的代码,生成第一版本包制品;并基于所述旧配置管理工具对应的旧流水线,运行该原目标分支中的目标代码,生成第二版本包制品;将所述第一版本包制品与所述第二版本包制品进行比对,生成第一比对结果,基于所述第一比对结果,对代码执行结果是否相同进行验证。
149.在一种可能的实施方式中,所述验证模块,还用于针对每个原目标分支,下载所述旧代码库中,该原目标分支对应的目标代码,并下载所述新代码库中,该原目标分支对应的新目标分支的代码;将下载的该原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,基于所述第二比对结果,对该原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证。
150.在一种可能的实施方式中,所述确定模块61,还用于将在所述旧代码库中指定的基准代码复制到所述新代码库中;下载所述旧代码库中的基准代码,并下载所述新代码库中的基准代码;将下载的所述旧代码库中的基准代码与下载的所述新代码库中的基准代码进行比对,生成第三比对结果,基于所述第三比对结果,对新旧代码库中的基准代码是否相同进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
151.在一种可能的实施方式中,所述确定模块61,还用于将在所述旧代码库中指定的基准代码复制到所述新代码库中;基于所述新配置管理工具对应的新流水线,从所述新代码库中,获取所述基准代码;对所述新流水线获取的基准代码与所述新代码库中保存的基准代码进行比对,生成第四比对结果,基于所述第四比对结果,对所述新流水线获取的代码是否正确进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
152.在一种可能的实施方式中,所述确定模块61,还用于将在所述旧代码库中指定的基准代码复制到所述新代码库中;基于所述旧配置管理工具对应的旧流水线,从所述旧代码库中,获取所述基准代码;并基于所述新配置管理工具对应的新流水线,从所述新代码库中,获取所述基准代码;对所述旧流水线获取的基准代码与所述新流水线获取的基准代码进行比对,生成相应的第五比对结果,基于所述第五比对结果,对新旧流水线获取的代码是否一致进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
153.在一种可能的实施方式中,所述确定模块61,还用于将在所述旧代码库中指定的基准代码复制到所述新代码库中;基于新配置管理工具对应的新流水线运行所述基准代
码,生成第三版本包制品,并基于旧配置管理工具对应的旧流水线运行所述基准代码,生成第四版本包制品;将所述第三版本包制品与所述第四版本包制品进行比对,生成第六比对结果,基于所述第六比对结果,对代码执行结果是否相同进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
154.实施例6:
155.本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
156.基于相同的技术构思,本技术还提供了一种电子设备,图7示出了一些实施例提供的一种电子设备结构示意图,如图7所示,电子设备包括:处理器71、通信接口72、存储器73和通信总线74,其中,处理器71,通信接口72,存储器73通过通信总线74完成相互间的通信;
157.所述存储器73中存储有计算机程序,当所述程序被所述处理器71执行时,使得所述处理器71执行如下步骤:
158.针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支;
159.针对每个原目标分支,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将所述目标代码确定为相应的新目标分支对应的代码,将所述目标代码保存到所述新配置管理工具对应的新代码库中。
160.在一种可能的实施方式中,所述处理器71,还用于:
161.针对每个原目标分支,若识别到该原目标分支对应的目标代码被开发完成并投产,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
162.在一种可能的实施方式中,所述处理器71,还用于:
163.针对每个原目标分支,基于所述新配置管理工具对应的新流水线,运行该原目标分支对应的新目标分支的代码,生成第一版本包制品;并基于所述旧配置管理工具对应的旧流水线,运行该原目标分支中的目标代码,生成第二版本包制品;将所述第一版本包制品与所述第二版本包制品进行比对,生成第一比对结果,基于所述第一比对结果,对代码执行结果是否相同进行验证。
164.在一种可能的实施方式中,所述处理器71,还用于:
165.针对每个原目标分支,下载所述旧代码库中,该原目标分支对应的目标代码,并下载所述新代码库中,该原目标分支对应的新目标分支的代码;将下载的该原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,基于所述第二比对结果,对该原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证。
166.在一种可能的实施方式中,所述处理器71,还用于:
167.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
168.下载所述旧代码库中的基准代码,并下载所述新代码库中的基准代码;将下载的所述旧代码库中的基准代码与下载的所述新代码库中的基准代码进行比对,生成第三比对结果,基于所述第三比对结果,对新旧代码库中的基准代码是否相同进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
169.在一种可能的实施方式中,所述处理器71,还用于:
170.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
171.基于所述新配置管理工具对应的新流水线,从所述新代码库中,获取所述基准代码;
172.对所述新流水线获取的基准代码与所述新代码库中保存的基准代码进行比对,生成第四比对结果,基于所述第四比对结果,对所述新流水线获取的代码是否正确进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
173.在一种可能的实施方式中,所述处理器71,还用于:
174.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
175.基于所述旧配置管理工具对应的旧流水线,从所述旧代码库中,获取所述基准代码;并基于所述新配置管理工具对应的新流水线,从所述新代码库中,获取所述基准代码;
176.对所述旧流水线获取的基准代码与所述新流水线获取的基准代码进行比对,生成相应的第五比对结果,基于所述第五比对结果,对新旧流水线获取的代码是否一致进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
177.在一种可能的实施方式中,所述处理器71,还用于:
178.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
179.基于新配置管理工具对应的新流水线运行所述基准代码,生成第三版本包制品,并基于旧配置管理工具对应的旧流水线运行所述基准代码,生成第四版本包制品;
180.将所述第三版本包制品与所述第四版本包制品进行比对,生成第六比对结果,基于所述第六比对结果,对代码执行结果是否相同进行验证;若验证通过,则进行后续针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支的步骤。
181.实施例7:
182.本技术实施例所有实施方式对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
183.基于相同的技术构思,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
184.针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支;
185.针对每个原目标分支,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码;将所述目标代码确定为相应的新目标分支对应的代码,将所述目标代码保存到所述新配置管理工具对应的新代码库中。
186.在一种可能的实施方式中,所述针对每个原目标分支,从旧配置管理工具对应的旧代码库中,获取该原目标分支对应的目标代码之前,所述方法还包括:
187.针对每个原目标分支,若识别到该原目标分支对应的目标代码被开发完成并投产,则进行后续步骤。
188.在一种可能的实施方式中,所述方法还包括:
189.针对每个原目标分支,基于所述新配置管理工具对应的新流水线,运行该原目标分支对应的新目标分支的代码,生成第一版本包制品;并基于所述旧配置管理工具对应的旧流水线,运行该原目标分支中的目标代码,生成第二版本包制品;将所述第一版本包制品与所述第二版本包制品进行比对,生成第一比对结果,基于所述第一比对结果,对代码执行结果是否相同进行验证。
190.在一种可能的实施方式中,所述方法还包括:
191.针对每个原目标分支,下载所述旧代码库中,该原目标分支对应的目标代码,并下载所述新代码库中,该原目标分支对应的新目标分支的代码;将下载的该原目标分支对应的目标代码与相应的新目标分支对应的代码进行比对,生成第二比对结果,基于所述第二比对结果,对该原目标分支对应的目标代码与相应的新目标分支对应的代码是否相同进行验证。
192.在一种可能的实施方式中,所述针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支之前,所述方法还包括:
193.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
194.下载所述旧代码库中的基准代码,并下载所述新代码库中的基准代码;将下载的所述旧代码库中的基准代码与下载的所述新代码库中的基准代码进行比对,生成第三比对结果,基于所述第三比对结果,对新旧代码库中的基准代码是否相同进行验证;若验证通过,则进行后续步骤。
195.在一种可能的实施方式中,所述针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支之前,所述方法还包括:
196.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
197.基于所述新配置管理工具对应的新流水线,从所述新代码库中,获取所述基准代码;
198.对所述新流水线获取的基准代码与所述新代码库中保存的基准代码进行比对,生成第四比对结果,基于所述第四比对结果,对所述新流水线获取的代码是否正确进行验证;若验证通过,则进行后续步骤。
199.在一种可能的实施方式中,所述针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支之前,所述方法还包括:
200.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
201.基于所述旧配置管理工具对应的旧流水线,从所述旧代码库中,获取所述基准代码;并基于所述新配置管理工具对应的新流水线,从所述新代码库中,获取所述基准代码;
202.对所述旧流水线获取的基准代码与所述新流水线获取的基准代码进行比对,生成相应的第五比对结果,基于所述第五比对结果,对新旧流水线获取的代码是否一致进行验证;若验证通过,则进行后续步骤。
203.在一种可能的实施方式中,所述针对旧配置管理工具中需要进行代码迁移的设定数量个原目标分支,基于预先保存的原分支与新分支的对应关系,分别确定在新配置管理工具中,各原目标分支各自对应的新目标分支之前,所述方法还包括:
204.将在所述旧代码库中指定的基准代码复制到所述新代码库中;
205.基于新配置管理工具对应的新流水线运行所述基准代码,生成第三版本包制品,并基于旧配置管理工具对应的旧流水线运行所述基准代码,生成第四版本包制品;
206.将所述第三版本包制品与所述第四版本包制品进行比对,生成第六比对结果,基于所述第六比对结果,对代码执行结果是否相同进行验证;若验证通过,则进行后续步骤。
207.上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(mo)等、光学存储器如cd、dvd、bd、hvd等、以及半导体存储器如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd)等。
208.基于相同的技术构思,本技术提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行时实现上述应用于电子设备的任一方法实施例所述的方法。
209.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。
210.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
211.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
212.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
213.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
214.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1