CN112231233A - 代码测试调度方法、装置、计算机设备及可读存储介质 - Google Patents
代码测试调度方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN112231233A CN112231233A CN202011305890.9A CN202011305890A CN112231233A CN 112231233 A CN112231233 A CN 112231233A CN 202011305890 A CN202011305890 A CN 202011305890A CN 112231233 A CN112231233 A CN 112231233A
- Authority
- CN
- China
- Prior art keywords
- code
- test
- development
- release
- mirror image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 280
- 238000000034 method Methods 0.000 title claims abstract description 158
- 238000011161 development Methods 0.000 claims abstract description 274
- 230000008569 process Effects 0.000 claims abstract description 105
- 238000004519 manufacturing process Methods 0.000 claims abstract description 73
- 238000012545 processing Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种代码测试调度方法、装置、计算机设备及可读存储介质,包括:提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签;执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。本发明提高了代码测试的效率,保证了GIT代码库中代码的可靠性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种代码测试调度方法、装置、计算机设备及可读存储介质。
背景技术
当前对于需要开发、测试、运维(即:生产环境管理方)共同协作进行软件开发的场景下,通常采用GIT代码库对各方进行管理;由于开发、测试和运维方均具有其各自的环境,即:开发环境、测试环境、生产环境,因此,GIT代码库的管理分支(即:master分支)从开发分支(develop分支)和发布分支(release分支)获取代码并打包得到软件包时,通常是默认所述软件包中各代码已经过开发环境、测试环境以及生产环境的测试的。
然而,发明人意识到,在实践中,GIT代码库中的开发代码和发布代码往往因开发者、测试者或运维者,未将代码在开发环境、测试环境和生产环境中全面进行测试,导致管理分支获得的代码的可靠性非常低。
发明内容
本发明的目的是提供一种代码测试调度方法、装置、计算机设备及可读存储介质,用于解决现有技术存在的管理分支获得的代码的可靠性非常低的问题。
为实现上述目的,本发明提供一种代码测试调度方法,用于对GIT代码库中的代码进行测试,包括:
提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签;
执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;其中,所述发布代码由所述开发代码合并而成;
执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;其中,所述发布代码由所述开发代码合并而成;
执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
上述方案中,所述开发部署进程包括:
对所述开发代码进行镜像处理得到开发镜像代码;
将所述开发镜像代码部署到预设的开发环境中;
对所述开发镜像代码进行测试,并判断所述开发镜像代码是否通过测试;
若所述开发镜像代码通过测试,则在所述开发镜像代码对应的开发代码中加载开发通过标签,并删除所述开发镜像代码;
若所述开发镜像代码未通过测试,则将所述开发镜像代码对应的开发代码移动至预设的失败数据库,并删除所述开发镜像代码。
上述方案中,所述合并开发部署进程包括:
对所述发布代码进行镜像处理得到发布镜像代码;
将所述发布镜像代码部署到预设的开发环境中;
对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载合并开发通过标签,并删除所述发布镜像代码;
若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码。
上述方案中,执行测试部署进程之前,包括:
提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有合并开发通过标签;若是,则调用测试部署进程;若否,则触发所述合并开发部署进程。
上述方案中,所述测试部署进程包括:
对所述发布代码进行镜像处理得到发布镜像代码;
将所述发布镜像代码部署到预设的测试环境中;
对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载测试通过标签,并删除所述发布镜像代码;
若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码。
上述方案中,执行生产部署进程之前,包括:
提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有测试通过标签;若是,则调用生产部署进程;若否,则触发所述测试部署进程。
上述方案中,所述生产部署进程包括:
对所述发布代码进行镜像处理得到发布镜像代码;
将所述发布镜像代码部署到预设的生产环境中;
对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载生产通过标签,并删除所述发布镜像代码;
若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码;
在执行生产部署进程之后,还包括:
将所述发布代码上传至区块链中。
为实现上述目的,本发明还提供一种代码测试调度装置,包括:
开发部署模块,用于提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签;
合并开发部署模块,用于执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;其中,所述发布代码由所述开发代码合并而成;
测试部署模块,用于执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;其中,所述发布代码由所述开发代码合并而成;
生成部署模块,用于执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述代码测试调度方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述可读存储介质存储的所述计算机程序被处理器执行时实现上述代码测试调度方法的步骤。
本发明提供的代码测试调度方法、装置、计算机设备及可读存储介质,通过自动的将GIT代码库中的开发代码经过开发环境的测试,及将发布代码经过开发环境、测试环境以及生产环境的测试,使每个开发代码均具有开发通过标签,并使所述发布代码具有合并开发通过标签、测试通过标签和生产通过标签方可得以使用,并发送给GIT代码库的管理分支(即:master分支),或被所述管理分支所获得,不仅提高了代码测试的效率,还保证了GIT代码库中代码的可靠性,进而保证了获得的软件包的可靠性。
附图说明
图1为本发明代码测试调度方法实施例一的流程图;
图2为本发明代码测试调度方法实施例二中代码测试调度方法的环境应用示意图;
图3是本发明代码测试调度方法实施例二中代码测试调度方法的具体方法流程图;
图4是本发明代码测试调度方法实施例二中开发部署进程的流程图;
图5是本发明代码测试调度方法实施例二中合并开发部署进程的流程图;
图6是本发明代码测试调度方法实施例二中测试部署进程的流程图;
图7是本发明代码测试调度方法实施例二中生产部署进程的流程图;
图8为本发明代码测试调度装置实施例三的程序模块示意图;
图9为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现提供以下实施例:
实施例一:
请参阅图1,本实施例的一种代码测试调度方法,用于对GIT代码库中的代码进行测试,包括:
S101:提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签。
S103:执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;其中,所述发布代码由所述开发代码合并而成。
S105:执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;其中,所述发布代码由所述开发代码合并而成。
S107:执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
于本实施例中,通过对开发分支中的开发代码进行开发环境的测试,保证每个开发代码均可在开发环境中有效运行,保证了GIT代码库的开发分支中每一个开发代码都能够获得在开发环境中的测试,进而保证了每个开发代码的可靠性。
由于即使每个开发代码均通过开发环境的测试,但也有可能因各开发代码之间的冲突,导致其合并后所获得的发布代码无法通过开发环境中的测试,因此,通过合并开发部署进程对发布代码在开发环境中进行测试,以保证经开发代码合并后形成的发布代码能够在开发环境中得以运行,保证了发布代码在开发环境中的可靠性。
通过测试部署进程对发布代码进行测试环境的测试,以保证发布代码能够在测试环境下正常运行,保证了发布代码在测试环境下的可靠性。
通过生产部署进程在生产环境下对发布代码进行测试,保证发布代码能够在生产环境中有效运行,保证了发布代码在生产环境中的可靠性。
通过代码测试调度方法自动的将GIT代码库中的开发代码经过开发环境的测试,及将发布代码经过开发环境、测试环境以及生产环境的测试,使每个开发代码均具有开发通过标签,并使所述发布代码具有合并开发通过标签、测试通过标签和生产通过标签方可得以使用,并发送给GIT代码库的管理分支(即:master分支),或被所述管理分支所获得,不仅提高了代码测试的效率,还保证了GIT代码库中代码的可靠性,进而保证了获得的软件包的可靠性。
实施例二:
本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
下面,以在运行有代码测试调度方法的服务器中,对提取的开发代码,执行开发部署进程、合并开发部署进程、测试部署进程,以及生产部署进程为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
图2示意性示出了根据本申请实施例二的代码测试调度方法的环境应用示意图。
在示例性的实施例中,代码测试调度方法所在的服务器2通过网络3连接GIT代码库4;所述服务器2可以通过一个或多个网络3提供服务,网络3可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物。
图3是本发明一个实施例提供的一种代码测试调度方法的具体方法流程图,该方法具体包括步骤S201至S208。
S201:提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签。
为保证GIT代码库的开发分支中每一个开发代码都能够获得在开发环境中的测试,本步骤通过对开发分支中的开发代码进行开发环境的测试,保证每个开发代码均可在开发环境中有效运行,保证了每个开发代码的可靠性。
在一个优选的实施例中,请参阅图4,所述开发部署进程包括:
S11:对所述开发代码进行镜像处理得到开发镜像代码;
S12:将所述开发镜像代码部署到预设的开发环境中;
S13:对所述开发镜像代码进行测试,并判断所述开发镜像代码是否通过测试;
S14:若所述开发镜像代码通过测试,则在所述开发镜像代码对应的开发代码中加载开发通过标签,并删除所述开发镜像代码;
S15:若所述开发镜像代码未通过测试,则将所述开发镜像代码对应的开发代码移动至预设的失败数据库,并删除所述开发镜像代码。
需要说明的是,GIT代码库至少包括开发分支(develop分支)和发布分支(release分支);其中,所述开发分支是开发者在接到需求之后主要从事开发工作的分支。所述发布分支是测试在接到测试工作时主要使用的分支,在版本进入测试周期之后,会将该版本的测试代码从develop分支merge到release分支上,表示等待发布状态,此时将不会再添加新功能,只负责当前功能的bug修复。其中,将开发分支上的代码设为开发代码,将发布分支上的代码设为发布代码,所述发布代码是由GIT代码库对开发代码进行合并所获得的。
S202:提取GIT代码库的发布分支中发布代码,判断合并为所述发布代码的开发代码是否均具有所述开发通过标签;若是,则调用合并开发部署进程;若否,则提取所述发布代码中不具有所述开发通过标签的开发代码,并执行所述开发部署进程;其中,所述发布代码由所述开发代码合并而成。
本步骤中,对发布代码中未进行开发环境测试的开发代码再次调用开发部署进程,以在开发环境中对所述开发代码再次进行测试,以保证GIT代码库的发布分支中的代码均经过开发环境的测试,以保证发布代码的可靠性。
于图3中,所述S202以以下标注展示:
S21:提取GIT代码库的发布分支中发布代码,判断合并为所述发布代码的开发代码是否均具有所述开发通过标签;
S22:若是,则调用合并开发部署进程;
S23:若否,则提取所述发布代码中不具有所述开发通过标签的开发代码,并触发所述开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签。
S203:执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;其中,所述发布代码由所述开发代码合并而成。
由于即使每个开发代码均通过开发环境的测试,但也有可能因各开发代码之间的冲突,导致其合并后所获得的发布代码无法通过开发环境中的测试,因此,为保证经合并所形成的发布代码能够得到在开发环境中的测试,本步骤通过合并开发部署进程对发布代码在开发环境中进行测试,以保证经开发代码合并后形成的发布代码能够在开发环境中得以运行,保证了发布代码在开发环境中的可靠性。
在一个优选的实施例中,请参阅图5,所述合并开发部署进程包括:
S31:对所述发布代码进行镜像处理得到发布镜像代码;
S32:将所述发布镜像代码部署到预设的开发环境中;
S33:对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
S34:若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载合并开发通过标签,并删除所述发布镜像代码;
S35:若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码。
S204:提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有合并开发通过标签;若是,则调用测试部署进程;若否,则触发所述合并开发部署进程。
本步骤中,对未在开发环境中进行测试的发布代码再次执行合并开发部署进程,并对已在开发环境中进行测试的发布代码调用测试部署进程,以保证对发布代码从开发环境到测试环境的测试顺序,由于开发环境相比于测试环境对发布代码的可靠性是要求更为严格,因此,通过实现上述顺序有效的保证了代码中问题的提前识别及处理。
于图3中,所述S204以以下标注展示:
S41:提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有合并开发通过标签;
S42:若是,则调用测试部署进程;
S43:若否,则触发所述合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签。
S205:执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;其中,所述发布代码由所述开发代码合并而成。
为保证发布代码能够通过测试环境的中的测试,本步骤通过测试部署进程对发布代码进行测试环境的测试,以保证发布代码能够在测试环境下正常运行,保证了发布代码在测试环境下的可靠性。
在一个优选的实施例中,请参阅图6,所述测试部署进程包括:
S51:对所述发布代码进行镜像处理得到发布镜像代码;
S52:将所述发布镜像代码部署到预设的测试环境中;
S53:对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
S54:若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载测试通过标签,并删除所述发布镜像代码;
S55:若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码。
S206:提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有测试通过标签。若是,则调用生产部署进程;若否,则触发所述测试部署进程。
本步骤中,对未在测试环境中进行测试的发布代码再次执行测试部署进程,并对已在测试环境中进行测试的发布代码调用生产部署进程,以保证对发布代码从测试环境到生产环境的测试顺序,由于测试环境相比于生产环境来说所使用的设备数量更少,因此,可在更少的对设备影响的前提下,识别出发布代码中的问题,避免了对生产环境中大量的设备造成影响的问题发生。
于图3中,所述S206以以下标注展示:
S61:提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有测试通过标签;
S62:若是,则调用生产部署进程;
S63:若否,则触发所述测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签。
S207:执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
为保证发布代码能够通过生产环境的中的测试,本步骤通过生产部署进程在生产环境下对发布代码进行测试,保证发布代码能够在生产环境中有效运行,保证了发布代码在生产环境中的可靠性。
在一个优选的实施例中,请参阅图7,所述生产部署进程包括:
S71:对所述发布代码进行镜像处理得到发布镜像代码;
S72:将所述发布镜像代码部署到预设的生产环境中;
S73:对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
S74:若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载生产通过标签,并删除所述发布镜像代码;
S75:若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码。
优选的,在执行生产部署进程之后,还包括:
将所述发布代码上传至区块链中。
需要说明的是,基于发布代码得到对应的摘要信息,具体来说,摘要信息由发布代码进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证发布代码是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
S208:提取GIT代码库的发布分支中的发布代码,判断所述发布代码中是否具有生产通过标签;若是,则在所述发布代码中加载完全测试标签;若否,则触发所述生产部署进程。
通过在GIT代码库的发布代码中加载完全测试标签,以便于开发者、测试者以及运维者对GIT代码库的发布分支中的代码进行管控,使只有经过开发环境、测试环境以及生产环境的代发方可得以使用,并发送给GIT代码库的管理分支(即:master分支),保证了GIT代码库中代码的可靠性,进而保证了获得的软件包的可靠性。
于图3中,所述S208以以下标注展示:
S81:提取GIT代码库的发布分支中的发布代码,判断所述发布代码中是否具有生产通过标签;
S82:若是,则在所述发布代码中加载完全测试标签;
S83:若否,则触发所述生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
实施例三:
请参阅图8,本实施例的一种代码测试调度装置1,包括:
开发部署模块11,用于提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签;
合并开发部署模块13,用于执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;其中,所述发布代码由所述开发代码合并而成;
测试部署模块15,用于执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;其中,所述发布代码由所述开发代码合并而成;
生成部署模块17,用于执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
可选的,所述代码测试调度装置1还包括:
开发判断模块12,用于提取GIT代码库的发布分支中发布代码,判断合并为所述发布代码的开发代码是否均具有所述开发通过标签;若是,则调用合并开发部署进程;若否,则提取所述发布代码中不具有所述开发通过标签的开发代码,并执行所述开发部署进程;其中,所述发布代码由所述开发代码合并而成。
可选的,所述代码测试调度装置1还包括:
合并开发判断模块14,用于提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有合并开发通过标签;若是,则调用测试部署进程;若否,则触发所述合并开发部署进程。
可选的,所述代码测试调度装置1还包括:
测试判断模块16,用于提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有测试通过标签。若是,则调用生产部署进程;若否,则触发所述测试部署进程。
可选的,所述代码测试调度装置1还包括:
生成判断模块18,用于提取GIT代码库的发布分支中的发布代码,判断所述发布代码中是否具有生产通过标签;若是,则在所述发布代码中加载完全测试标签;若否,则触发所述生产部署进程。
本技术方案计算机研发管理的开发技术领域,通过构建对提取的开发代码,执行开发部署进程、合并开发部署进程、测试部署进程,以及生产部署进程的代码质量工具,以对开发辅助工作进行优化。
实施例四:
为实现上述目的,本发明还提供一种计算机设备5,实施例三的代码测试调度装置1的组成部分可分散于不同的计算机设备中,计算机设备5可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过***总线相互通信连接的存储器51、处理器52,如图9所示。需要指出的是,图9仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例三的代码测试调度装置的程序代码等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如运行代码测试调度装置,以实现实施例一和实施例二的代码测试调度方法。
实施例五:
为实现上述目的,本发明还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器52执行时实现相应功能。本实施例的计算机可读存储介质用于存储代码测试调度装置,被处理器52执行时实现实施例一和实施例二的代码测试调度方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种代码测试调度方法,用于对GIT代码库中的代码进行测试,其特征在于,包括:
提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签;
执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;其中,所述发布代码由所述开发代码合并而成;
执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;其中,所述发布代码由所述开发代码合并而成;
执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
2.根据权利要求1所述的代码测试调度方法,其特征在于,所述开发部署进程包括:
对所述开发代码进行镜像处理得到开发镜像代码;
将所述开发镜像代码部署到预设的开发环境中;
对所述开发镜像代码进行测试,并判断所述开发镜像代码是否通过测试;
若所述开发镜像代码通过测试,则在所述开发镜像代码对应的开发代码中加载开发通过标签,并删除所述开发镜像代码;
若所述开发镜像代码未通过测试,则将所述开发镜像代码对应的开发代码移动至预设的失败数据库,并删除所述开发镜像代码。
3.根据权利要求1所述的代码测试调度方法,其特征在于,所述合并开发部署进程包括:
对所述发布代码进行镜像处理得到发布镜像代码;
将所述发布镜像代码部署到预设的开发环境中;
对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载合并开发通过标签,并删除所述发布镜像代码;
若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码。
4.根据权利要求1所述的代码测试调度方法,其特征在于,执行测试部署进程之前,包括:
提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有合并开发通过标签;若是,则调用测试部署进程;若否,则触发所述合并开发部署进程。
5.根据权利要求1所述的代码测试调度方法,其特征在于,所述测试部署进程包括:
对所述发布代码进行镜像处理得到发布镜像代码;
将所述发布镜像代码部署到预设的测试环境中;
对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载测试通过标签,并删除所述发布镜像代码;
若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码。
6.根据权利要求1所述的代码测试调度方法,其特征在于,执行生产部署进程之前,包括:
提取GIT代码库的发布分支中发布代码,判断所述发布代码中是否具有测试通过标签;若是,则调用生产部署进程;若否,则触发所述测试部署进程。
7.根据权利要求1所述的代码测试调度方法,其特征在于,所述生产部署进程包括:
对所述发布代码进行镜像处理得到发布镜像代码;
将所述发布镜像代码部署到预设的生产环境中;
对所述发布镜像代码进行测试,并判断所述发布镜像代码是否通过测试;
若所述发布镜像代码通过测试,则在所述发布镜像代码对应的发布代码中加载生产通过标签,并删除所述发布镜像代码;
若所述发布镜像代码未通过测试,则将所述发布镜像代码对应的发布代码移动至预设的失败数据库,并删除所述发布镜像代码;
在执行生产部署进程之后,还包括:
将所述发布代码上传至区块链中。
8.一种代码测试调度装置,其特征在于,包括:
开发部署模块,用于提取GIT代码库的开发分支中的开发代码,执行开发部署进程,以在开发环境中对所述开发代码进行测试,及在通过测试的开发代码中加载开发通过标签;
合并开发部署模块,用于执行合并开发部署进程,以在开发环境中对所述发布代码进行测试,及在通过测试的发布代码中加载合并开发通过标签;其中,所述发布代码由所述开发代码合并而成;
测试部署模块,用于执行测试部署进程,以在测试环境中对所述发布代码进行测试,及在通过测试的发布代码中加载测试通过标签;其中,所述发布代码由所述开发代码合并而成;
生成部署模块,用于执行生产部署进程,以在生产环境中对所述发布代码进行测试,及在通过测试的发布代码中加载生产通过标签。
9.一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机设备的处理器执行所述计算机程序时实现权利要求1至7任一项所述代码测试调度方法的步骤。
10.一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,其特征在于,所述可读存储介质存储的所述计算机程序被处理器执行时实现权利要求1至7任一项所述代码测试调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011305890.9A CN112231233A (zh) | 2020-11-20 | 2020-11-20 | 代码测试调度方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011305890.9A CN112231233A (zh) | 2020-11-20 | 2020-11-20 | 代码测试调度方法、装置、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112231233A true CN112231233A (zh) | 2021-01-15 |
Family
ID=74123875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011305890.9A Pending CN112231233A (zh) | 2020-11-20 | 2020-11-20 | 代码测试调度方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231233A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536744A (zh) * | 2014-12-19 | 2015-04-22 | 微梦创科网络科技(中国)有限公司 | 一种自动化构建与部署代码的方法及服务器 |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化***及方法 |
CN107678773A (zh) * | 2017-09-28 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于git的代码开发与测试流程管理方法 |
CN107797914A (zh) * | 2016-09-07 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 代码处理方法、装置及代码发布*** |
US20200210325A1 (en) * | 2018-12-28 | 2020-07-02 | Paypal, Inc. | Streamlined creation of integration tests |
-
2020
- 2020-11-20 CN CN202011305890.9A patent/CN112231233A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536744A (zh) * | 2014-12-19 | 2015-04-22 | 微梦创科网络科技(中国)有限公司 | 一种自动化构建与部署代码的方法及服务器 |
CN107797914A (zh) * | 2016-09-07 | 2018-03-13 | 阿里巴巴集团控股有限公司 | 代码处理方法、装置及代码发布*** |
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化***及方法 |
CN107678773A (zh) * | 2017-09-28 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于git的代码开发与测试流程管理方法 |
US20200210325A1 (en) * | 2018-12-28 | 2020-07-02 | Paypal, Inc. | Streamlined creation of integration tests |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958714B (zh) | 业务组件式开发方法、装置、计算机设备及存储介质 | |
CN110764942B (zh) | 多种类数据校验方法、装置、计算机***及可读存储介质 | |
US9092230B2 (en) | Configuration of componentized software applications | |
CN111736872B (zh) | 灰度发布升级方法、装置、计算机***及可读存储介质 | |
CN110597531B (zh) | 分布式的模块升级方法、装置及存储介质 | |
CN111161085B (zh) | 业务请求处理方法、装置、电子设备及计算机可读介质 | |
CN112700246B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN112527484A (zh) | 工作流断点续跑方法、装置、计算机设备及可读存储介质 | |
CN110162344B (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
CN112631924A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN112052141B (zh) | 数据分片校验方法、装置、计算机设备及可读存储介质 | |
CN114661423A (zh) | 集群配置检测方法、装置、计算机设备及存储介质 | |
CN111221904A (zh) | 智能合约部署、执行方法、装置、电子设备及存储介质 | |
CN112965721A (zh) | 基于Android的项目编译方法、装置、计算机设备及存储介质 | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
WO2009097241A1 (en) | A method and system for assessing deployment and un-deployment of software installations | |
CN112231233A (zh) | 代码测试调度方法、装置、计算机设备及可读存储介质 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、***、终端及存储介质 | |
CN111752600B (zh) | 代码异常检测方法、装置、计算机设备及存储介质 | |
CN114124521B (zh) | 云原生安全编排方法及装置、电子设备、计算机可读介质 | |
CN112564979B (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
CN110648219B (zh) | 一种银行交易***标准化输入区的方法和装置 | |
CN111722946A (zh) | 分布式事务处理方法、装置、计算机设备及可读存储介质 | |
CN111984275A (zh) | 基于cpu架构类型的***部署方法、***、终端及存储介质 | |
CN112988193B (zh) | 代码更新识别方法、装置、计算机设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |