CN109117170B - 一种运行环境搭建方法及装置、代码合入方法及系统 - Google Patents
一种运行环境搭建方法及装置、代码合入方法及系统 Download PDFInfo
- Publication number
- CN109117170B CN109117170B CN201710482229.7A CN201710482229A CN109117170B CN 109117170 B CN109117170 B CN 109117170B CN 201710482229 A CN201710482229 A CN 201710482229A CN 109117170 B CN109117170 B CN 109117170B
- Authority
- CN
- China
- Prior art keywords
- code
- task
- tool
- test
- resource pool
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012360 testing method Methods 0.000 claims abstract description 180
- 230000010354 integration Effects 0.000 claims abstract description 123
- 230000008859 change Effects 0.000 claims abstract description 104
- 238000012544 monitoring process Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000004806 packaging method and process Methods 0.000 claims abstract description 14
- 230000002085 persistent effect Effects 0.000 claims description 56
- 238000012552 review Methods 0.000 claims description 42
- 238000010348 incorporation Methods 0.000 claims description 18
- 210000001503 joint Anatomy 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 6
- 238000003032 molecular docking Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 26
- 238000007689 inspection Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 3
- 238000012508 change request Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种运行环境搭建方法及装置、代码合入方法及系统,该运行环境搭建方法包括:将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中;将任务执行节点部署在云端集群资源池中;将通道容器和云端集群资源池进行对接;通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;任务执行节点用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具。采用上述方案,降低运维成本,缩短持续集成的反馈速度,提高软件开发效率,利用云端的集群资源,提高了资源的利用率。
Description
技术领域
本发明涉及软件开发的持续集成领域,尤其涉及一种运行环境搭建方法及装置、代码合入方法及系统。
背景技术
随着敏捷开发模式的深入人心,软件行业的快速迭代、持续集成扮演着越来越重要的角色,开源社区出现了一种非常优秀的持续集成框架,它由代码托管评审工具、代码准入工具、任务分发框架、持续集成引擎等模块组成,通过制度化的流程保证保障了提交代码的代码质量,其核心是支持异地协作及多人并发修改代码及提交同行评审,并进行代码合入前的多级验证,最大程度的保证了软件质量。
参见图1,图1为现有技术提供的一种持续集成系统的示意图,软件开发者提交代码变更请求到代码托管评审工具后,代码托管评审工具会产生代码变更请求事件流,代码准入工具侦测到事件流后进行预处理,再通过任务分发框架分发任务到持续集成引擎,持续集成引擎再将任务分配到任务执行节点进行业务验证,业务验证完成后执行结果再沿原路返回给代码托管评审工具,最终完成代码的入库。
现有的持续集成的运行环境(包括代码准入工具、任务分发框架、持续集成引擎、任务执行节点)都是本地的硬件资源,运维成本高、扩展性差、并发量低、资源利用率低,导致整体的持续集成的反馈周期变长,降低了软件开发效率。
发明内容
本发明实施例主要解决的技术问题是,提供一种运行环境搭建方法及装置、代码合入方法及系统,解决现有技术中,现有的持续集成的运行环境都是本地的硬件资源,运维成本高、扩展性差、并发量低、资源利用率低,导致整体的持续集成的反馈周期变长,软件开发效率低下的问题。
为解决上述技术问题,本发明实施例提供一种运行环境搭建方法,包括:
将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中;
将任务执行节点部署在云端集群资源池中;
将通道容器和云端集群资源池进行对接;
通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;
任务执行节点用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具。
为解决上述技术问题,本发明实施例提供一种代码合入方法,包括:
代码托管评审工具在接收到用户提交的代码后,生成代码库变更事件;
通道容器在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;通道容器由代码准入工具、任务分发框架、持续集成引擎封装而成,并部署在云端集群资源池中;任务执行节点部署在云端集群资源池中;通道容器与云端集群资源池对接;
任务执行节点根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具。
为解决上述技术问题,本发明实施例提供一种运行环境搭建装置,包括:
封装模块,用于将代码准入工具、任务分发框架、持续集成引擎封装成通道容器;
第一部署模块,用于将通道容器部署在云端集群资源池中;
第二部署模块,用于将任务执行节点部署在云端集群资源池中;
对接模块,用于将通道容器和云端集群资源池进行对接;
其中,通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;
任务执行节点用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具。
为解决上述技术问题,本发明实施例提供一种代码合入系统,包括:
代码托管评审工具,用于在接收到用户提交的代码后,生成代码库变更事件;
通道容器,用于在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;通道容器由代码准入工具、任务分发框架、持续集成引擎封装而成,并部署在云端集群资源池中;任务执行节点部署在云端集群资源池中;通道容器与云端集群资源池对接;
任务执行节点,用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具。
为解决上述技术问题,本发明实施例还提供一种计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于执行前述的运行环境搭建方法及代码合入方法。
本发明的有益效果是:
根据本发明实施例提供的一种运行环境搭建方法及装置、代码合入方法及系统,该运行环境搭建方法包括:将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中;将任务执行节点部署在云端集群资源池中;将通道容器和云端集群资源池进行对接;通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;任务执行节点用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具。采用上述方案,将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中,以及将任务执行节点部署在云端集群资源池中,省去了单独部署各个组件的繁琐事宜,降低了运维成本,缩短了持续集成的反馈速度,提高了软件开发效率,利用云端的集群资源,通过资源的弹性伸缩、水平扩展,最大程度的提高了资源的利用率。
附图说明
图1为现有技术提供的一种持续集成系统的示意图;
图2为本发明实施例一提供的一种运行环境搭建方法的流程图;
图3为本发明各个实施例提供的一种持续集成系统的示意图;
图4为本发明各个实施例提供的一种代码合入的示意图;
图5为本发明各个实施例提供的一种参数以插件方式配置的示意图;
图6为本发明各个实施例提供的一种代码合入完整流程的示意图;
图7为本发明实施例二提供的一种代码合入方法的流程图;
图8为本发明实施例三提供的一种运行环境搭建装置的示意图;
图9为本发明实施例四提供的一种代码合入系统的示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
实施例一
本实施例提供一种运行环境搭建方法,该方法是基于云端持续集成的运行环境的搭建方法,请参见图2,图2为本实施例提供的一种运行环境搭建方法的流程图,该方法包括以下步骤:
S201:将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中;
将代码准入工具、任务分发框架、持续集成引擎进行容器化的封装,封装成通道容器,省去了单独部署各个组件的繁琐事宜,后续用户在使用时,只需要从仓库中导出容器镜像,运行容器即可。
S202:将任务执行节点部署在云端集群资源池中;
S203:将通道容器和云端集群资源池进行对接;
由此便能实现云内的通道容器对云内的任务执行节点的按需调用,例如可以使用云端集群资源池中的CPU(Central Processing Unit,中央处理器)、内存、存储等。
参见图3,图3为本实施例提供的一种持续集成系统的示意图;
图3中,代码准入工具、任务分发框架、持续集成引擎封装成通道容器并部署在云端集群资源池中;任务执行节点部署在云端集群资源池中;通道容器和云端集群资源池对接;各个组件的参数可以在持续集成引擎界面采用参数配置插件进行修改配置。
代码托管评审工具发生代码库变更事件之后,代码库变更事件被传入到通道容器、任务执行节点中进行处理。
其中,通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;
其中,代码托管评审工具在接收到用户提交的代码后,生成代码库变更事件;
在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点包括:
代码准入工具在监听到代码托管评审工具发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过任务分发框架给持续集成引擎分发测试任务;持续集成引擎将测试任务分发到任务执行节点。
其中,代码准入工具的Zuul Merger(代码准入工具合并)和Httpd(Apache超文本传输协议服务器的主程序)准备临时变更代码库以供后续测试,并通过Gearman Server(任务分发框架服务器)给持续集成引擎分发测试任务;
任务执行节点用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具;
根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具包括:
任务执行节点根据测试任务对云端集群资源池中的资源进行调度,并从代码准入工具下载临时变更代码库,并执行测试,并将测试结果依次通过持续集成引擎、任务分发框架、代码准入工具返回给代码托管评审工具形成闭环,实现代码合入;
具体的,从代码准入工具的Httpd下载临时变更代码库。
可选的,该运行环境搭建方法还包括:在持续集成引擎的界面中设置参数配置功能,参数配置功能用于在将基于云端持续集成的运行环境搭建好之后、后续用户在使用该运行环境时,根据用户操作对代码托管评审工具、和/或代码准入工具、和/或任务分发框架、和/或持续集成引擎、和/或任务执行节点的参数进行配置;
其中,参数包括代码库的用户名、地址等;
该参数配置功能可以以插件形式实现;
由于系统中的各个关键组件均部署在云端集群资源池中,也即各个关键组件均运行在云内,各组件有参数需要变更时,就需要进入云端集群资源池进行修改,这势必会给云端集群资源池带来安全隐患,另外由于云端权限控制等原因,用户一般是没有权限进入云端集群资源池的,本实施例的方案将各个组件的参数集成到持续集成引擎的访问界面中,用户可以直接在浏览器端,通过持续集成引擎界面进行参数的修改配置,以插件形式配置管理,方便了用户操作,同时保证了云端集群资源池的安全。
在通过上述方案搭建好基于云端持续集成的运行环境之后,用户可以使用上述的运行环境进行代码合入。
参见图4,图4为本实施例提供的一种代码合入的示意图;
图4中,Zuul(代码准入工具)包括Zuul Server(代码准入工具服务器)、ZuulMerger和Httpd;
Zuul、Gearman Server、Jenkins Master封装成通道容器,将该通道容器记为Jenkins Master Docker(持续集成引擎容器),并部署在Mesos Agent(云端集群资源池)中;
Jenkins Master中集成有Jenkins Gearman Plugin(插件);
Jenkins Slave部署在Mesos Agent中;
Jenkins Master Docker与Jenkins Slave对接;
可以在Jenkins Master(持续集成引擎)的访问界面采用参数配置插件对各个组件的参数进行修改配置;
参见图5,图5为本实施例提供的一种参数以插件方式配置的示意图;
示例性的,针对A项目提交了代码,生成了代码库,该代码库与前一个项目的代码库不同,A项目需要进行单元测试,在配置参数时,对参数进行修改且配置为jobA的名称。
图4提供的代码合入包括以下步骤:
第一步:Gerrit(代码托管评审工具)在接收到用户提交的代码后,生成代码库变更事件;
第二步:Zuul Server侦听到项目Gerrit代码库变更事件;
第三步:Zuul Merger和Httpd准备临时变更代码库供后续测试;
第四步:Zuul通过Gearman Server给Jenkins Master分发测试任务;
具体的,Gearman Server将测试任务的信息分发给集成在Jenkins Master中的Jenkins Gearman Plugin;
第五步:Jenkins Master分发测试任务到Jenkins Slave(任务执行节点);
第六步:Jenkins Slave从Zuul Merger和Httpd下载临时变更代码库执行测试;
在测试完成后,将测试结果逆向返回给Gerrit形成闭环,也即Jenkins Slave将测试结果依次通过Jenkins Master、Gearman(任务分发框架)、Zuul返回给Gerrit,实现代码合入;
图4中,示出了发生两个代码库变更事件,每个代码库变更事件对应不同的Jenkins Slave。
参见图6,图6为本实施例提供的一种代码合入完整流程的示意图;
图6中,云端一级CI(Continuous integration,持续集成)、云端二级CI中均部署有Jenkins Master Docker和Jenkins Slave;
首先提交代码到云端一级CI,云端一级CI进行检查代码质量、编码规范、代码编译、静态检查、漏洞扫描、单元测试等工作,若通过,则进行人工评审代码;若不通过,则需修复代码后重新提交到云端一级CI;
人工评审代码通过后,提交到云端二级CI,云端二级CI进行功能测试;若人工评审代码不通过,则需修复代码后重新提交到云端一级CI;
云端二级CI进行功能测试通过后,则代码入库,若云端二级CI进行功能测试不通过,则需修复代码后重新提交到云端一级CI。
通过本实施例的实施,将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中,以及将任务执行节点部署在云端集群资源池中,省去了单独部署各个组件的繁琐事宜,降低了运维成本,缩短了持续集成的反馈速度,提高了软件开发效率,利用云端的集群资源,通过资源的弹性伸缩、水平扩展,最大程度的提高了资源的利用率。
实施例二
本实施例提供一种代码合入方法,在通过实施例一搭建好基于云端持续集成的运行环境之后,便可以使用该运行环境进行代码合入,请参见图7,图7为本实施例提供的一种代码合入方法的流程图,该代码合入方法包括以下步骤:
S701:代码托管评审工具在接收到用户提交的代码后,生成代码库变更事件;
S702:通道容器在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;通道容器由代码准入工具、任务分发框架、持续集成引擎封装而成,并部署在云端集群资源池中;任务执行节点部署在云端集群资源池中;通道容器与云端集群资源池对接;
将代码准入工具、任务分发框架、持续集成引擎进行容器化的封装,封装成通道容器,省去了单独部署各个组件的繁琐事宜,后续用户在使用时,只需要从仓库中导出容器镜像,运行容器即可。
由此便能实现云内的通道容器对云内的任务执行节点的按需调用,例如可以使用云端集群资源池中的CPU、内存、存储等。
参见图3,图3为本实施例提供的一种持续集成系统的示意图;
图3中,代码准入工具、任务分发框架、持续集成引擎封装成通道容器并部署在云端集群资源池中;任务执行节点部署在云端集群资源池中;通道容器和云端集群资源池对接;各个组件的参数可以在持续集成引擎界面采用参数配置插件进行修改配置。
代码托管评审工具发生代码库变更事件之后,代码库变更事件被传入到通道容器、任务执行节点中进行处理。
S702在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点包括:
代码准入工具在监听到代码托管评审工具发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过任务分发框架给持续集成引擎分发测试任务;持续集成引擎将测试任务分发到任务执行节点。
其中,代码准入工具的Zuul Merger和Httpd准备临时变更代码库以供后续测试,并通过Gearman Server给持续集成引擎分发测试任务。
S703:任务执行节点根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具;
S703根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具包括:
任务执行节点根据测试任务对云端集群资源池中的资源进行调度,并从代码准入工具下载临时变更代码库,并执行测试,并将测试结果依次通过持续集成引擎、任务分发框架、代码准入工具返回给代码托管评审工具形成闭环,实现代码合入;
具体的,从代码准入工具的Httpd下载临时变更代码库。
可选的,S702通道容器在监听到代码托管评审工具发生代码库变更事件之前,还包括:
在持续集成引擎的界面接收用户操作,根据用户操作对代码托管评审工具、和/或代码准入工具、和/或任务分发框架、和/或持续集成引擎、和/或任务执行节点的参数进行配置。
其中,参数包括代码库的用户名、地址等;
可选的,在持续集成引擎的界面接收用户操作之前,还包括:
接收用户输入的账号和密码;
将账号和密码、与预设的账号和密码进行匹配;
若匹配通过,则进入在持续集成引擎的界面接收用户操作的步骤。
由于系统中的各个关键组件均部署在云端集群资源池中,也即各个关键组件均运行在云内,各组件有参数需要变更时,就需要进入云端集群资源池进行修改,这势必会给云端集群资源池带来安全隐患,另外由于云端权限控制等原因,用户一般是没有权限进入云端集群资源池的,本实施例的方案将各个组件的参数集成到持续集成引擎的访问界面中,用户可以直接在浏览器端,通过持续集成引擎界面进行参数的修改配置,以插件形式配置管理,方便了用户操作,同时保证了云端集群资源池的安全。
参见图4,图4为本实施例提供的一种代码合入的示意图;
图4中,Zuul包括Zuul Server、Zuul Merger和Httpd;
Zuul、Gearman Server、Jenkins Master封装成通道容器,将该通道容器记为Jenkins Master Docker,并部署在Mesos Agent中;
Jenkins Master中集成有Jenkins Gearman Plugin(插件);
Jenkins Slave部署在Mesos Agent中;
Jenkins Master Docker与Jenkins Slave对接;
可以在Jenkins Master的访问界面采用参数配置插件对各个组件的参数进行修改配置;
参见图5,图5为本实施例提供的一种参数以插件方式配置的示意图;
示例性的,针对A项目提交了代码,生成了代码库,该代码库与前一个项目的代码库不同,A项目需要进行单元测试,在配置参数时,对参数进行修改且配置为jobA的名称。
图4提供的代码合入包括以下步骤:
第一步:Gerrit在接收到用户提交的代码后,生成代码库变更事件;
第二步:Zuul Server侦听到项目Gerrit代码库变更事件;
第三步:Zuul Merger和Httpd准备临时变更代码库供后续测试;
第四步:Zuul通过Gearman Server给Jenkins Master分发测试任务;
具体的,Gearman Server将测试任务的信息分发给集成在Jenkins Master中的Jenkins Gearman Plugin;
第五步:Jenkins Master分发测试任务到Jenkins Slave;
第六步:Jenkins Slave从Zuul Merger和Httpd下载临时变更代码库执行测试;
在测试完成后,将测试结果逆向返回给Gerrit形成闭环,也即Jenkins Slave将测试结果依次通过Jenkins Master、Gearman、Zuul返回给Gerrit,实现代码合入;
图4中,示出了发生两个代码库变更事件,每个代码库变更事件对应不同的Jenkins Slave。
参见图6,图6为本实施例提供的一种代码合入完整流程的示意图;
图6中,云端一级CI、云端二级CI中均部署有Jenkins Master Docker和JenkinsSlave;
首先提交代码到云端一级CI,云端一级CI进行检查代码质量、编码规范、代码编译、静态检查、漏洞扫描、单元测试等工作,若通过,则进行人工评审代码;若不通过,则需修复代码后重新提交到云端一级CI;
人工评审代码通过后,提交到云端二级CI,云端二级CI进行功能测试;若人工评审代码不通过,则需修复代码后重新提交到云端一级CI;
云端二级CI进行功能测试通过后,则代码入库,若云端二级CI进行功能测试不通过,则需修复代码后重新提交到云端一级CI。
通过本实施例的实施,将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中,以及将任务执行节点部署在云端集群资源池中,省去了单独部署各个组件的繁琐事宜,降低了运维成本,缩短了持续集成的反馈速度,提高了软件开发效率,利用云端的集群资源,通过资源的弹性伸缩、水平扩展,最大程度的提高了资源的利用率。
实施例三
本实施例提供一种运行环境搭建装置,请参见图8,图8为本实施例提供的一种运行环境搭建装置的示意图,该运行环境搭建装置包括:
封装模块801,用于将代码准入工具、任务分发框架、持续集成引擎封装成通道容器;
将代码准入工具、任务分发框架、持续集成引擎进行容器化的封装,封装成通道容器,省去了单独部署各个组件的繁琐事宜,后续用户在使用时,只需要从仓库中导出容器镜像,运行容器即可。
第一部署模块802,用于将通道容器部署在云端集群资源池中;
第二部署模块803,用于将任务执行节点部署在云端集群资源池中;
在一种实施方式中,第一部署模块802和第二部署模块803可以为同一个模块。
对接模块804,用于将通道容器和云端集群资源池进行对接;
由此便能实现云内的通道容器对云内的任务执行节点的按需调用,例如可以使用云端集群资源池中的CPU、内存、存储等。
参见图3,图3为本实施例提供的一种持续集成系统的示意图;
图3中,代码准入工具、任务分发框架、持续集成引擎封装成通道容器并部署在云端集群资源池中;任务执行节点部署在云端集群资源池中;通道容器和云端集群资源池对接;各个组件的参数可以在持续集成引擎界面采用参数配置插件进行修改配置。
代码托管评审工具发生代码库变更事件之后,代码库变更事件被传入到通道容器、任务执行节点中进行处理。
其中,通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;
其中,代码托管评审工具在接收到用户提交的代码后,生成代码库变更事件;
在监听到代码托管评审工具发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点包括:
代码准入工具在监听到代码托管评审工具发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过任务分发框架给持续集成引擎分发测试任务;持续集成引擎将测试任务分发到任务执行节点。
其中,代码准入工具的Zuul Merger和Httpd准备临时变更代码库以供后续测试,并通过Gearman Server给持续集成引擎分发测试任务。
任务执行节点用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具;
根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器返回给代码托管评审工具包括:
任务执行节点根据测试任务对云端集群资源池中的资源进行调度,并从代码准入工具下载临时变更代码库,并执行测试,并将测试结果依次通过持续集成引擎、任务分发框架、代码准入工具返回给代码托管评审工具形成闭环,实现代码合入;
具体的,从代码准入工具的Httpd下载临时变更代码库。
可选的,该运行环境搭建装置还包括:设置模块805,用于在持续集成引擎的界面中设置参数配置功能,参数配置功能用于根据用户操作对代码托管评审工具、和/或代码准入工具、和/或任务分发框架、和/或持续集成引擎、和/或任务执行节点的参数进行配置。
其中,参数包括代码库的用户名、地址等;
该参数配置功能可以以插件形式实现;
由于系统中的各个关键组件均部署在云端集群资源池中,也即各个关键组件均运行在云内,各组件有参数需要变更时,就需要进入云端集群资源池进行修改,这势必会给云端集群资源池带来安全隐患,另外由于云端权限控制等原因,用户一般是没有权限进入云端集群资源池的,本实施例的方案将各个组件的参数集成到持续集成引擎的访问界面中,用户可以直接在浏览器端,通过持续集成引擎界面进行参数的修改配置,以插件形式配置管理,方便了用户操作,同时保证了云端集群资源池的安全。
在通过上述方案搭建好基于云端持续集成的运行环境之后,用户可以使用上述的运行环境进行代码合入。
参见图4,图4为本实施例提供的一种代码合入的示意图;
图4中,Zuul包括Zuul Server、Zuul Merger和Httpd;
Zuul、Gearman Server、Jenkins Master封装成通道容器,将该通道容器记为Jenkins Master Docker,并部署在Mesos Agent中;
Jenkins Master中集成有Jenkins Gearman Plugin(插件);
Jenkins Slave部署在Mesos Agent中;
Jenkins Master Docker与Jenkins Slave对接;
可以在Jenkins Master的访问界面采用参数配置插件对各个组件的参数进行修改配置;
参见图5,图5为本实施例提供的一种参数以插件方式配置的示意图;
示例性的,针对A项目提交了代码,生成了代码库,该代码库与前一个项目的代码库不同,A项目需要进行单元测试,在配置参数时,对参数进行修改且配置为jobA的名称。
图4提供的代码合入包括以下步骤:
第一步:Gerrit在接收到用户提交的代码后,生成代码库变更事件;
第二步:Zuul Server侦听到项目Gerrit代码库变更事件;
第三步:Zuul Merger和Httpd准备临时变更代码库供后续测试;
第四步:Zuul通过Gearman Server给Jenkins Master分发测试任务;
具体的,Gearman Server将测试任务的信息分发给集成在Jenkins Master中的Jenkins Gearman Plugin;
第五步:Jenkins Master分发测试任务到Jenkins Slave;
第六步:Jenkins Slave从Zuul Merger和Httpd下载临时变更代码库执行测试;
在测试完成后,将测试结果逆向返回给Gerrit形成闭环,也即Jenkins Slave将测试结果依次通过Jenkins Master、Gearman、Zuul返回给Gerrit,实现代码合入;
图4中,示出了发生两个代码库变更事件,每个代码库变更事件对应不同的Jenkins Slave。
参见图6,图6为本实施例提供的一种代码合入完整流程的示意图;
图6中,云端一级CI、云端二级CI中均部署有Jenkins Master Docker和JenkinsSlave;
首先提交代码到云端一级CI,云端一级CI进行检查代码质量、编码规范、代码编译、静态检查、漏洞扫描、单元测试等工作,若通过,则进行人工评审代码;若不通过,则需修复代码后重新提交到云端一级CI;
人工评审代码通过后,提交到云端二级CI,云端二级CI进行功能测试;若人工评审代码不通过,则需修复代码后重新提交到云端一级CI;
云端二级CI进行功能测试通过后,则代码入库,若云端二级CI进行功能测试不通过,则需修复代码后重新提交到云端一级CI。
通过本实施例的实施,将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中,以及将任务执行节点部署在云端集群资源池中,省去了单独部署各个组件的繁琐事宜,降低了运维成本,缩短了持续集成的反馈速度,提高了软件开发效率,利用云端的集群资源,通过资源的弹性伸缩、水平扩展,最大程度的提高了资源的利用率。
实施例四
本实施例提供一种代码合入系统,在通过实施例三搭建好基于云端持续集成的运行环境之后,便可以使用该运行环境进行代码合入,请参见图9,图9为本实施例提供的一种代码合入系统的示意图,该代码合入系统包括:
代码托管评审工具901,用于在接收到用户提交的代码后,生成代码库变更事件;
通道容器902,用于在监听到代码托管评审工具901发生代码库变更事件,并对代码库变更事件进行预设处理之后,分发测试任务给任务执行节点903;通道容器902由代码准入工具9021、任务分发框架9022、持续集成引擎9023封装而成,并部署在云端集群资源池中;任务执行节点903部署在云端集群资源池中;通道容器902与云端集群资源池对接;
将代码准入工具9021、任务分发框架9022、持续集成引擎9023进行容器化的封装,封装成通道容器902,省去了单独部署各个组件的繁琐事宜,后续用户在使用时,只需要从仓库中导出容器镜像,运行容器即可。
由此便能实现云内的通道容器902对云内的任务执行节点903的按需调用,例如可以使用云端集群资源池中的CPU、内存、存储等。
参见图3,图3为本实施例提供的一种持续集成系统的示意图;
图3中,代码准入工具9021、任务分发框架9022、持续集成引擎9023封装成通道容器902并部署在云端集群资源池中;任务执行节点903部署在云端集群资源池中;通道容器902和云端集群资源池对接;各个组件的参数可以在持续集成引擎9023界面采用参数配置插件进行修改配置。
代码托管评审工具901发生代码库变更事件之后,代码库变更事件被传入到通道容器902、任务执行节点903中进行处理。
代码准入工具9021用于在监听到代码托管评审工具901发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过任务分发框架9022给持续集成引擎9023分发测试任务;持续集成引擎9023将测试任务分发到任务执行节点903。
其中,代码准入工具9021的Zuul Merger和Httpd准备临时变更代码库以供后续测试,并通过Gearman Server给持续集成引擎9023分发测试任务。
任务执行节点903,用于根据测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过通道容器902返回给代码托管评审工具901。
任务执行节点903用于根据测试任务对云端集群资源池中的资源进行调度,并从代码准入工具9021下载临时变更代码库,并执行测试,并将测试结果依次通过持续集成引擎9023、任务分发框架9022、代码准入工具9021返回给代码托管评审工具901形成闭环,实现代码合入;
具体的,从代码准入工具9021的Httpd下载临时变更代码库。
可选的,持续集成引擎9023还用于通道容器902在监听到代码托管评审工具901发生代码库变更事件之前,在持续集成引擎9023的界面接收用户操作,根据用户操作对代码托管评审工具901、和/或代码准入工具9021、和/或任务分发框架9022、和/或持续集成引擎9023、和/或任务执行节点903的参数进行配置。
其中,参数包括代码库的用户名、地址等;
可选的,持续集成引擎9023还用于在持续集成引擎9023的界面接收用户操作之前,接收用户输入的账号和密码;将账号和密码、与预设的账号和密码进行匹配;若匹配通过,则进入在持续集成引擎9023的界面接收用户操作的步骤。
由于系统中的各个关键组件均部署在云端集群资源池中,也即各个关键组件均运行在云内,各组件有参数需要变更时,就需要进入云端集群资源池进行修改,这势必会给云端集群资源池带来安全隐患,另外由于云端权限控制等原因,用户一般是没有权限进入云端集群资源池的,本实施例的方案将各个组件的参数集成到持续集成引擎9023的访问界面中,用户可以直接在浏览器端,通过持续集成引擎9023界面进行参数的修改配置,以插件形式配置管理,方便了用户操作,同时保证了云端集群资源池的安全。
参见图4,图4为本实施例提供的一种代码合入的示意图;
图4中,Zuul9021包括Zuul Server、Zuul Merger和Httpd;
Zuul9021、Gearman Server、Jenkins Master9023封装成通道容器902,将该通道容器902记为Jenkins Master Docker,并部署在Mesos Agent中;
Jenkins Master9023中集成有Jenkins Gearman Plugin(插件);
Jenkins Slave903部署在Mesos Agent中;
Jenkins Master Docker与Jenkins Slave903对接;
可以在Jenkins Master9023的访问界面采用参数配置插件对各个组件的参数进行修改配置;
参见图5,图5为本实施例提供的一种参数以插件方式配置的示意图;
示例性的,针对A项目提交了代码,生成了代码库,该代码库与前一个项目的代码库不同,A项目需要进行单元测试,在配置参数时,对参数进行修改且配置为jobA的名称。
图4提供的代码合入包括以下步骤:
第一步:Gerrit901在接收到用户提交的代码后,生成代码库变更事件;
第二步:Zuul Server侦听到项目Gerrit901代码库变更事件;
第三步:Zuul Merger和Httpd准备临时变更代码库供后续测试;
第四步:Zuul9021通过Gearman Server给Jenkins Master9023分发测试任务;
具体的,Gearman Server将测试任务的信息分发给集成在Jenkins Master9023中的Jenkins Gearman Plugin;
第五步:Jenkins Master9023分发测试任务到Jenkins Slave903;
第六步:Jenkins Slave903从Zuul Merger和Httpd下载临时变更代码库执行测试;
在测试完成后,将测试结果逆向返回给Gerrit901形成闭环,也即JenkinsSlave903将测试结果依次通过Jenkins Master9023、Gearman9022、Zuul9021返回给Gerrit901,实现代码合入;
图4中,示出了发生两个代码库变更事件,每个代码库变更事件对应不同的Jenkins Slave903。
参见图6,图6为本实施例提供的一种代码合入完整流程的示意图;
图6中,云端一级CI、云端二级CI中均部署有Jenkins Master Docker和JenkinsSlave903;
首先提交代码到云端一级CI,云端一级CI进行检查代码质量、编码规范、代码编译、静态检查、漏洞扫描、单元测试等工作,若通过,则进行人工评审代码;若不通过,则需修复代码后重新提交到云端一级CI;
人工评审代码通过后,提交到云端二级CI,云端二级CI进行功能测试;若人工评审代码不通过,则需修复代码后重新提交到云端一级CI;
云端二级CI进行功能测试通过后,则代码入库,若云端二级CI进行功能测试不通过,则需修复代码后重新提交到云端一级CI。
通过本实施例的实施,将代码准入工具9021、任务分发框架9022、持续集成引擎9023封装成通道容器902,并部署在云端集群资源池中,以及将任务执行节点903部署在云端集群资源池中,省去了单独部署各个组件的繁琐事宜,降低了运维成本,缩短了持续集成的反馈速度,提高了软件开发效率,利用云端的集群资源,通过资源的弹性伸缩、水平扩展,最大程度的提高了资源的利用率。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储介质(ROM/RAM、磁碟、光盘)中由计算系统来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (8)
1.一种运行环境搭建方法,包括:
将代码准入工具、任务分发框架、持续集成引擎封装成通道容器,并部署在云端集群资源池中;
将任务执行节点部署在所述云端集群资源池中;
将所述通道容器和所述云端集群资源池进行对接;
所述通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对所述代码库变更事件进行预设处理之后,分发测试任务给所述任务执行节点;
所述任务执行节点用于根据所述测试任务对所述云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过所述通道容器返回给所述代码托管评审工具;
所述在监听到代码托管评审工具发生代码库变更事件,并对所述代码库变更事件进行预设处理之后,分发测试任务给所述任务执行节点包括:
所述代码准入工具在监听到代码托管评审工具发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过所述任务分发框架给所述持续集成引擎分发测试任务;
所述持续集成引擎将所述测试任务分发到所述任务执行节点;
所述根据所述测试任务对所述云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过所述通道容器返回给所述代码托管评审工具包括:
所述任务执行节点根据所述测试任务对所述云端集群资源池中的资源进行调度,并从所述代码准入工具下载所述临时变更代码库,并执行测试,并将测试结果依次通过所述持续集成引擎、任务分发框架、代码准入工具返回给所述代码托管评审工具。
2.如权利要求1所述的运行环境搭建方法,其特征在于,还包括:在所述持续集成引擎的界面中设置参数配置功能,所述参数配置功能用于根据用户操作对所述代码托管评审工具、和/或代码准入工具、和/或任务分发框架、和/或持续集成引擎、和/或任务执行节点的参数进行配置。
3.一种代码合入方法,包括:
代码托管评审工具在接收到用户提交的代码后,生成代码库变更事件;
通道容器在监听到所述代码托管评审工具发生代码库变更事件,并对所述代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;所述通道容器由代码准入工具、任务分发框架、持续集成引擎封装而成,并部署在云端集群资源池中;所述任务执行节点部署在所述云端集群资源池中;所述通道容器与所述云端集群资源池对接;
所述任务执行节点根据所述测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过所述通道容器返回给所述代码托管评审工具;
所述通道容器在监听到所述代码托管评审工具发生代码库变更事件,并对所述代码库变更事件进行预设处理之后,分发测试任务给所述任务执行节点包括:
所述代码准入工具在监听到所述代码托管评审工具发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过所述任务分发框架给所述持续集成引擎分发测试任务;
所述持续集成引擎将所述测试任务分发到所述任务执行节点;
所述任务执行节点根据所述测试任务对所述云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过所述通道容器返回给所述代码托管评审工具包括:
所述任务执行节点根据所述测试任务对所述云端集群资源池中的资源进行调度,并从所述代码准入工具下载所述临时变更代码库,并执行测试,并将测试结果依次通过所述持续集成引擎、任务分发框架、代码准入工具返回给所述代码托管评审工具。
4.如权利要求3所述的代码合入方法,其特征在于,所述通道容器在监听到所述代码托管评审工具发生代码库变更事件之前,还包括:
在所述持续集成引擎的界面接收用户操作,根据所述用户操作对所述代码托管评审工具、和/或代码准入工具、和/或任务分发框架、和/或持续集成引擎、和/或任务执行节点的参数进行配置。
5.一种运行环境搭建装置,包括:
封装模块,用于将代码准入工具、任务分发框架、持续集成引擎封装成通道容器;
第一部署模块,用于将所述通道容器部署在云端集群资源池中;
第二部署模块,用于将任务执行节点部署在所述云端集群资源池中;
对接模块,用于将所述通道容器和所述云端集群资源池进行对接;
其中,所述通道容器用于在监听到代码托管评审工具发生代码库变更事件,并对所述代码库变更事件进行预设处理之后,分发测试任务给所述任务执行节点;
所述任务执行节点用于根据所述测试任务对所述云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过所述通道容器返回给所述代码托管评审工具;
所述代码准入工具用于在监听到代码托管评审工具发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过所述任务分发框架给所述持续集成引擎分发测试任务;
所述持续集成引擎将所述测试任务分发到所述任务执行节点;
所述任务执行节点用于根据所述测试任务对所述云端集群资源池中的资源进行调度,并从所述代码准入工具下载所述临时变更代码库,并执行测试,并将测试结果依次通过所述持续集成引擎、任务分发框架、代码准入工具返回给所述代码托管评审工具。
6.如权利要求5所述的运行环境搭建装置,其特征在于,还包括:设置模块,用于在所述持续集成引擎的界面中设置参数配置功能,所述参数配置功能用于根据用户操作对所述代码托管评审工具、和/或代码准入工具、和/或任务分发框架、和/或持续集成引擎、和/或任务执行节点的参数进行配置。
7.一种代码合入系统,包括:
代码托管评审工具,用于在接收到用户提交的代码后,生成代码库变更事件;
通道容器,用于在监听到所述代码托管评审工具发生代码库变更事件,并对所述代码库变更事件进行预设处理之后,分发测试任务给任务执行节点;所述通道容器由代码准入工具、任务分发框架、持续集成引擎封装而成,并部署在云端集群资源池中;所述任务执行节点部署在所述云端集群资源池中;所述通道容器与所述云端集群资源池对接;
所述任务执行节点,用于根据所述测试任务对云端集群资源池中的资源进行调度,并执行测试,并将测试结果通过所述通道容器返回给所述代码托管评审工具,
所述代码准入工具用于在监听到代码托管评审工具发生代码库变更事件之后,准备临时变更代码库以供后续测试,并通过所述任务分发框架给所述持续集成引擎分发测试任务;
所述持续集成引擎将所述测试任务分发到所述任务执行节点;
所述任务执行节点用于根据所述测试任务对所述云端集群资源池中的资源进行调度,并从所述代码准入工具下载所述临时变更代码库,并执行测试,并将测试结果依次通过所述持续集成引擎、任务分发框架、代码准入工具返回给所述代码托管评审工具。
8.如权利要求7所述的代码合入系统,其特征在于,所述持续集成引擎还用于所述通道容器在监听到代码托管评审工具发生代码库变更事件之前,在所述持续集成引擎的界面接收用户操作,根据所述用户操作对所述代码托管评审工具、和/或代码准入工具、和/或任务分发框架、和/或持续集成引擎、和/或任务执行节点的参数进行配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710482229.7A CN109117170B (zh) | 2017-06-22 | 2017-06-22 | 一种运行环境搭建方法及装置、代码合入方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710482229.7A CN109117170B (zh) | 2017-06-22 | 2017-06-22 | 一种运行环境搭建方法及装置、代码合入方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109117170A CN109117170A (zh) | 2019-01-01 |
CN109117170B true CN109117170B (zh) | 2023-04-07 |
Family
ID=64732820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710482229.7A Active CN109117170B (zh) | 2017-06-22 | 2017-06-22 | 一种运行环境搭建方法及装置、代码合入方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109117170B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111435307B (zh) * | 2019-01-11 | 2025-01-14 | 北京京东尚科信息技术有限公司 | 大版本工程软件管理方法、装置、介质及电子设备 |
CN111125219A (zh) * | 2019-12-18 | 2020-05-08 | 紫光云(南京)数字技术有限公司 | 一种修改云平台上Redis集群参数的方法 |
CN111831271B (zh) * | 2020-07-20 | 2023-07-07 | 北京简单一点科技有限公司 | 一种支持模拟预合入流水线的Git代码评审系统及其方法 |
CN112148462B (zh) * | 2020-10-20 | 2023-03-28 | 上海新炬网络信息技术股份有限公司 | 基于Jenkins的CICD流程的处理方法 |
CN112737876B (zh) * | 2020-12-24 | 2022-07-08 | 四川爱联科技股份有限公司 | 一种基于云端的插件式测试系统及测试方法 |
CN113296787A (zh) * | 2021-06-10 | 2021-08-24 | 中国电子科技集团公司第十五研究所 | 一种基于云平台的在线开发与代码托管系统与使用方法 |
CN113656164B (zh) * | 2021-08-30 | 2024-05-03 | 阿里巴巴(中国)有限公司 | 任务执行方法、系统、电子设备及计算机存储介质 |
CN114296871A (zh) * | 2021-12-22 | 2022-04-08 | 华人运通(上海)云计算科技有限公司 | 基于容器的持续集成方法、装置、系统及工作节点和介质 |
CN115437682B (zh) * | 2022-09-15 | 2023-03-21 | 中国安全生产科学研究院 | 一种abap开发环境下的应用开发管理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630488A (zh) * | 2015-12-18 | 2016-06-01 | 上海爱数信息技术股份有限公司 | 一种基于docker容器技术的持续集成实现方法 |
CN105760167A (zh) * | 2016-02-23 | 2016-07-13 | 浪潮软件集团有限公司 | 一种基于Docker的持续集成方法 |
CN106790483A (zh) * | 2016-12-13 | 2017-05-31 | 武汉邮电科学研究院 | 基于容器技术的Hadoop集群系统及快速构建方法 |
CN106897226A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种持续集成测试的方法以及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10411975B2 (en) * | 2013-03-15 | 2019-09-10 | Csc Agility Platform, Inc. | System and method for a cloud computing abstraction with multi-tier deployment policy |
-
2017
- 2017-06-22 CN CN201710482229.7A patent/CN109117170B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630488A (zh) * | 2015-12-18 | 2016-06-01 | 上海爱数信息技术股份有限公司 | 一种基于docker容器技术的持续集成实现方法 |
CN105760167A (zh) * | 2016-02-23 | 2016-07-13 | 浪潮软件集团有限公司 | 一种基于Docker的持续集成方法 |
CN106790483A (zh) * | 2016-12-13 | 2017-05-31 | 武汉邮电科学研究院 | 基于容器技术的Hadoop集群系统及快速构建方法 |
CN106897226A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种持续集成测试的方法以及装置 |
Non-Patent Citations (1)
Title |
---|
高礼 , 高昕.Docker技术在软件开发过程中的应用研究.《软件》.2016,第37卷(第3期),第1-4页. * |
Also Published As
Publication number | Publication date |
---|---|
CN109117170A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117170B (zh) | 一种运行环境搭建方法及装置、代码合入方法及系统 | |
US9760343B2 (en) | Application builder based on metadata | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
EP2615555A1 (en) | Framework for automated testing of mobile apps | |
CN110795078A (zh) | 基于ios系统下的app工程运作系统的架构方法 | |
CN113220431B (zh) | 跨云的分布式数据任务调度方法、设备及存储介质 | |
WO2019067598A1 (en) | SYSTEMS AND METHOD FOR DEPLOYING, SECURING AND MANAGING COMPUTER ANALYTICAL ENVIRONMENTS | |
CN106407101A (zh) | 基于lxc的持续集成方法及装置 | |
CN111913721B (zh) | 自动化部署方法、装置、设备及存储介质 | |
CN110647332A (zh) | 基于容器云的软件部署方法和装置 | |
CN112379969B (zh) | 一种基于容器化应用的持续集成交付方法及相关设备 | |
CN111026634A (zh) | 一种接口自动化测试系统、方法、装置及存储介质 | |
CN113254174A (zh) | 一种rpa机器人流程自动化实现系统和方法 | |
CN116132139A (zh) | 剧本执行方法、装置、设备、存储介质及程序产品 | |
Grefen et al. | Supporting hybrid manufacturing: bringing process and human/robot control to the cloud (short paper) | |
Savchenko et al. | MICROSERVICE TEST PROCESS: DESIGN AND IMPLEMENTATION. | |
CN112564979A (zh) | 构建任务的执行方法、装置、计算机设备和存储介质 | |
TW201407503A (zh) | 雲端平台工作排程方法及系統 | |
CN116974716A (zh) | 调度任务的发布方法、装置、电子设备及存储介质 | |
CN118245056A (zh) | 一种微服务架构的生成方法、装置、设备及存储介质 | |
Estable et al. | Systems modelling and simulation of the ESA e. Deorbit space debris removal mission | |
CN115526580B (zh) | 节点状态确定方法、装置、电子设备及存储介质 | |
WO2022246705A1 (zh) | 一种深度学习模型测试的方法、设备及计算机存储介质 | |
CN116974597A (zh) | 基于工具包的信息处理方法、系统及存储介质和终端设备 | |
Fonseca et al. | The reborn marketplace: an application store for industrial smart components |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |