CN105653449A - 一种基于容器虚拟化的持续集成方法 - Google Patents
一种基于容器虚拟化的持续集成方法 Download PDFInfo
- Publication number
- CN105653449A CN105653449A CN201510995393.9A CN201510995393A CN105653449A CN 105653449 A CN105653449 A CN 105653449A CN 201510995393 A CN201510995393 A CN 201510995393A CN 105653449 A CN105653449 A CN 105653449A
- Authority
- CN
- China
- Prior art keywords
- code
- mirror image
- container
- container virtualization
- continuous integration
- 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
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及软件开发技术领域,特别是一种基于容器虚拟化的持续集成方法,包括以下步骤,步骤S101:提交代码;步骤S102:代码更新,将提交的代码进行更新;步骤S103:编译打包项目;步骤S104:容器虚拟化,通过虚拟化的容器进行镜像的运行。采用上述方法后,本发明选择了容器虚拟化技术,通过docker来屏蔽实际环境中的差异,通过dockerfile来统一规范应用运行环境,docker相对于虚拟机而言,成本低,运行简单,能适应测试环境中的频繁部署。另外,本发明基于容器虚拟化技术,能够在单一机器环境中,无干扰的部署,并能较方便的进行横向扩展,同时基于git的触发机制,能够自动的在代码提交后进行持续集成,减少人工工作量。
Description
技术领域
本发明涉及软件开发技术领域,特别是一种基于容器虚拟化的持续集成方法。
背景技术
在项目开发过程中,会对现有代码频繁部署以做测试和联调,现有的方案中,因为机器环境的不一致,会导致部署过程中需要大量的人工定制,影响了开发进度,同时,不同的测试阶段,需要的测试环境有所差异,也增加了部署工作量,原有的虚拟机技术存在成本及浪费问题。现有的持续集成方案,通常使用实际物理机或者虚拟机的方式,受限于机器环境的影响,在部署过程中需要定制部署路径和相关依赖组件,并有可能受到其他***的影响而导致集成失败。
中国发明专利CN103699385A公开了一种代码持续集成的方法,首先制定测试环境需要部署的服务器并部署其环境,确定其IP地址;然后,在对要测试的代码打基线;检出要测试的代码并进行编译,得到目标代码,并且对目标代码插桩;然后,在测试环境中执行测试用例,生成测试用例的执行结果、自动生成代码的测试覆盖率报告;然后,根据测试用例执行结果,修复代码缺陷;根据测试覆盖率报告重新调整测试用例;重复之前的集成的流程,直到测试用例全部通过并且测试覆盖率为100%位置。
发明内容
本发明需要解决的技术问题是持续集成过程中的横向扩展问题。
为解决上述的技术问题,本发明的一种基于容器虚拟化的持续集成方法,包括以下步骤,
步骤S101:提交代码;
步骤S102:代码更新,将提交的代码进行更新;
步骤S103:编译打包项目;
步骤S104:容器虚拟化,通过虚拟化的容器进行镜像的运行。
进一步的,所述步骤S102代码更新还包括以下步骤,
步骤S21:更新通知,当提交代码完成后,git通知jenkins;
步骤S22:更新代码,jenkins收到git的更新提醒后,更新代码,自动根据预定义的脚本,执行相关部署指令。
进一步的,所述步骤S104容器虚拟化还包括以下步骤,
步骤S41:镜像构建,构建docker镜像;
步骤S42:镜像上传,上传镜像到镜像库;
步骤S43:镜像下载,在部署服务器下载镜像;
步骤S44:运行镜像。
采用上述方法后,本发明选择了容器虚拟化技术,通过docker来屏蔽实际环境中的差异,通过dockerfile来统一规范应用运行环境,docker相对于虚拟机而言,成本低,运行简单,能适应测试环境中的频繁部署。另外,本发明基于容器虚拟化技术,能够在单一机器环境中,无干扰的部署,并能较方便的进行横向扩展,同时基于git的触发机制,能够自动的在代码提交后进行持续集成,减少人工工作量。
附图说明
下面将结合附图和具体实施方式对本作进一步详细的说明。
图1为本发明一种基于容器虚拟化的持续集成的方法的流程图。
具体实施方式
如图1所示,本发明一种基于容器虚拟化的持续集成的方法,包括以下步骤,
步骤S101:提交代码;
步骤S102:代码更新,将提交的代码进行更新。具体还包括以下步骤,
步骤S21:更新通知,当提交代码完成后,git通知jenkins;
步骤S22:更新代码,jenkins收到git的更新提醒后,更新代码,自动根据预定义的脚本,执行相关部署指令。
步骤S103:编译打包项目;
步骤S104:容器虚拟化,通过虚拟化的容器进行镜像的运行。具体还包括以下步骤,
步骤S41:镜像构建,构建docker镜像;
步骤S42:镜像上传,上传镜像到镜像库;
步骤S43:镜像下载,在部署服务器下载镜像;
步骤S44:运行镜像。
这样,通过docker来屏蔽实际环境中的差异,通过dockerfile来统一规范应用运行环境,docker相对于虚拟机而言,成本低,运行简单,能适应测试环境中的频繁部署。通过运行镜像来取代现有的直接运行被集成程序,从而实现程序的一致性和通用性,一方面极大的降低了持续集成中的成本,另一方面屏蔽了不同***间的干扰,为单一***的持续集成提供干净、完善的部署环境,降低了持续集成的难度和复杂度。
虽然以上描述了本发明的具体实施方式,但是本领域熟练技术人员应当理解,这些仅是举例说明,可以对本实施方式作出多种变更或修改,而不背离发明的原理和实质,本发明的保护范围仅由所附权利要求书限定。
Claims (3)
1.一种基于容器虚拟化的持续集成方法,其特征在于,包括以下步骤,
步骤S101:提交代码;
步骤S102:代码更新,将提交的代码进行更新;
步骤S103:编译打包项目;
步骤S104:容器虚拟化,通过虚拟化的容器进行镜像的运行。
2.按照权利要求1所述的一种基于容器虚拟化的持续集成方法,其特征在于,所述步骤S102代码更新还包括以下步骤,
步骤S21:更新通知,当提交代码完成后,git通知jenkins;
步骤S22:更新代码,jenkins收到git的更新提醒后,更新代码,自动根据预定义的脚本,执行相关部署指令。
3.按照权利要求1所述的一种基于容器虚拟化的持续集成方法,其特征在于,所述步骤S104容器虚拟化还包括以下步骤,
步骤S41:镜像构建,构建docker镜像;
步骤S42:镜像上传,上传镜像到镜像库;
步骤S43:镜像下载,在部署服务器下载镜像;
步骤S44:运行镜像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510995393.9A CN105653449A (zh) | 2015-12-28 | 2015-12-28 | 一种基于容器虚拟化的持续集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510995393.9A CN105653449A (zh) | 2015-12-28 | 2015-12-28 | 一种基于容器虚拟化的持续集成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105653449A true CN105653449A (zh) | 2016-06-08 |
Family
ID=56477904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510995393.9A Pending CN105653449A (zh) | 2015-12-28 | 2015-12-28 | 一种基于容器虚拟化的持续集成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653449A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227579A (zh) * | 2016-07-12 | 2016-12-14 | 深圳市中润四方信息技术有限公司 | 一种Docker容器构建方法及Docker管理控制台 |
CN106502905A (zh) * | 2016-10-26 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法、装置及*** |
CN106874028A (zh) * | 2016-12-26 | 2017-06-20 | 新华三技术有限公司 | 应用部署方法和装置 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
CN107391213A (zh) * | 2017-08-29 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种存储设备***升级的方法、装置及一种升级*** |
CN107729034A (zh) * | 2017-10-24 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种软件持续集成方法及其装置 |
CN107797927A (zh) * | 2017-10-18 | 2018-03-13 | 中国平安人寿保险股份有限公司 | 应用自动化测试方法、装置、设备及可读存储介质 |
CN107977218A (zh) * | 2017-11-23 | 2018-05-01 | 武汉斗鱼网络科技有限公司 | 代码更新方法、装置、电子设备及可读存储介质 |
CN108196843A (zh) * | 2018-01-09 | 2018-06-22 | 成都睿码科技有限责任公司 | 可视化Docker容器自动编译部署的运维方法 |
CN108268308A (zh) * | 2018-01-22 | 2018-07-10 | 广州欧赛斯信息科技有限公司 | 一种基于容器平台的持续集成方法、***及装置 |
CN108415795A (zh) * | 2018-02-12 | 2018-08-17 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及*** |
CN108415828A (zh) * | 2018-01-23 | 2018-08-17 | 广州视源电子科技股份有限公司 | 程序测试方法、装置、可读存储介质和计算机设备 |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、***及服务器 |
CN108509346A (zh) * | 2018-04-13 | 2018-09-07 | 郑州云海信息技术有限公司 | 一种双***bios持续集成平台及方法 |
CN108519952A (zh) * | 2018-04-13 | 2018-09-11 | 南京新贝金服科技有限公司 | 一种分布式的web自动化测试***及方法 |
CN108733553A (zh) * | 2017-04-18 | 2018-11-02 | 北京嘀嘀无限科技发展有限公司 | 基于docker的测试装置的配置方法、装置和*** |
CN109144880A (zh) * | 2018-09-06 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 镜像文件的管理方法及***、设备、存储介质 |
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、***和计算机存储介质 |
CN109783348A (zh) * | 2018-12-06 | 2019-05-21 | 中国电力科学研究院有限公司 | 基于云平台的测试工具资源管理方法、*** |
CN112069066A (zh) * | 2020-09-01 | 2020-12-11 | 招商银行股份有限公司 | 代码覆盖率统计方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461743A (zh) * | 2014-12-17 | 2015-03-25 | 用友软件股份有限公司 | 资源和配置的自动生成装置和方法 |
CN104539476A (zh) * | 2014-12-10 | 2015-04-22 | 小米科技有限责任公司 | 数据包获取方法和装置 |
CN104899047A (zh) * | 2015-06-25 | 2015-09-09 | 广州杰赛科技股份有限公司 | 网页框架部署方法和*** |
CN105187500A (zh) * | 2015-08-07 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于容器的分布式存储***部署方法 |
-
2015
- 2015-12-28 CN CN201510995393.9A patent/CN105653449A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539476A (zh) * | 2014-12-10 | 2015-04-22 | 小米科技有限责任公司 | 数据包获取方法和装置 |
CN104461743A (zh) * | 2014-12-17 | 2015-03-25 | 用友软件股份有限公司 | 资源和配置的自动生成装置和方法 |
CN104899047A (zh) * | 2015-06-25 | 2015-09-09 | 广州杰赛科技股份有限公司 | 网页框架部署方法和*** |
CN105187500A (zh) * | 2015-08-07 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种基于容器的分布式存储***部署方法 |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227579A (zh) * | 2016-07-12 | 2016-12-14 | 深圳市中润四方信息技术有限公司 | 一种Docker容器构建方法及Docker管理控制台 |
CN106502905A (zh) * | 2016-10-26 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种应用程序的测试方法、装置及*** |
CN106874028A (zh) * | 2016-12-26 | 2017-06-20 | 新华三技术有限公司 | 应用部署方法和装置 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
CN108733553A (zh) * | 2017-04-18 | 2018-11-02 | 北京嘀嘀无限科技发展有限公司 | 基于docker的测试装置的配置方法、装置和*** |
CN108733553B (zh) * | 2017-04-18 | 2022-03-08 | 北京嘀嘀无限科技发展有限公司 | 基于docker的测试装置的配置方法、装置和*** |
CN107391213A (zh) * | 2017-08-29 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种存储设备***升级的方法、装置及一种升级*** |
CN107797927A (zh) * | 2017-10-18 | 2018-03-13 | 中国平安人寿保险股份有限公司 | 应用自动化测试方法、装置、设备及可读存储介质 |
CN107797927B (zh) * | 2017-10-18 | 2021-01-08 | 中国平安人寿保险股份有限公司 | 应用自动化测试方法、装置、设备及可读存储介质 |
CN107729034A (zh) * | 2017-10-24 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种软件持续集成方法及其装置 |
CN107977218A (zh) * | 2017-11-23 | 2018-05-01 | 武汉斗鱼网络科技有限公司 | 代码更新方法、装置、电子设备及可读存储介质 |
CN108196843A (zh) * | 2018-01-09 | 2018-06-22 | 成都睿码科技有限责任公司 | 可视化Docker容器自动编译部署的运维方法 |
CN108196843B (zh) * | 2018-01-09 | 2021-03-26 | 成都睿码科技有限责任公司 | 可视化Docker容器自动编译部署的运维方法 |
CN108268308A (zh) * | 2018-01-22 | 2018-07-10 | 广州欧赛斯信息科技有限公司 | 一种基于容器平台的持续集成方法、***及装置 |
CN108415828A (zh) * | 2018-01-23 | 2018-08-17 | 广州视源电子科技股份有限公司 | 程序测试方法、装置、可读存储介质和计算机设备 |
CN108415795A (zh) * | 2018-02-12 | 2018-08-17 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及*** |
CN108415795B (zh) * | 2018-02-12 | 2019-04-05 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及*** |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、***及服务器 |
CN108519952B (zh) * | 2018-04-13 | 2019-05-17 | 南京新贝金服科技有限公司 | 一种分布式的web自动化测试***及方法 |
CN108519952A (zh) * | 2018-04-13 | 2018-09-11 | 南京新贝金服科技有限公司 | 一种分布式的web自动化测试***及方法 |
CN108509346B (zh) * | 2018-04-13 | 2021-10-22 | 郑州云海信息技术有限公司 | 一种双***bios持续集成平台及方法 |
CN108509346A (zh) * | 2018-04-13 | 2018-09-07 | 郑州云海信息技术有限公司 | 一种双***bios持续集成平台及方法 |
CN109144880A (zh) * | 2018-09-06 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 镜像文件的管理方法及***、设备、存储介质 |
CN109783348A (zh) * | 2018-12-06 | 2019-05-21 | 中国电力科学研究院有限公司 | 基于云平台的测试工具资源管理方法、*** |
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、***和计算机存储介质 |
CN112069066A (zh) * | 2020-09-01 | 2020-12-11 | 招商银行股份有限公司 | 代码覆盖率统计方法、装置、设备及计算机可读存储介质 |
CN112069066B (zh) * | 2020-09-01 | 2024-05-07 | 招商银行股份有限公司 | 代码覆盖率统计方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653449A (zh) | 一种基于容器虚拟化的持续集成方法 | |
US10114637B1 (en) | Automatically updating a shared project build platform | |
US8745585B2 (en) | Meta-data for single development test environment | |
US9760365B2 (en) | Systems, methods, and computer program products for a software build and load process using a compilation and deployment service | |
CN106933609B (zh) | Android应用程序安装包的生成方法及装置 | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
CN103309683B (zh) | 硬件设备的软件补丁嵌入方法及装置 | |
US20130174124A1 (en) | Version numbering in single development and test environment | |
CN103473067A (zh) | 嵌入式Linux分区与数据还原方法、***及***开发方法 | |
CN103577311A (zh) | 一种测试用例筛选方法及装置 | |
US9921563B2 (en) | System for updating a control program actively controlling an industrial process | |
CN105653261A (zh) | 基于云计算环境下的开发集成测试方法及*** | |
EP2503449A2 (en) | Single development test environment | |
WO2015105486A1 (en) | Dynamically applying a software patch to a computer program | |
CN105511920A (zh) | 一种基于容器的移动终端操作***升级方法和装置 | |
EP3447635A1 (en) | Application architecture generation | |
CN111078265A (zh) | 一种基于jenkins的web项目更新补丁生成方法 | |
CN113064630A (zh) | 移动端app自动打包方法、***、电子设备及存储介质 | |
CN105183580A (zh) | 一种引导程序的存储方法、故障恢复方法及设备 | |
EP3891613B1 (en) | Software checkpoint-restoration between distinctly compiled executables | |
CN104461645B (zh) | 基于kexec的固件升级方法和固件升级装置 | |
EP2503450A2 (en) | Version numbering in single development and test environment | |
US8561027B2 (en) | Reflection capability in static programming languages | |
CN103442077A (zh) | 一种软件客户端通过网络进行更新的方法及*** | |
EP2503451A2 (en) | Metadata for single development test environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160608 |
|
RJ01 | Rejection of invention patent application after publication |