CN105653449A - 一种基于容器虚拟化的持续集成方法 - Google Patents

一种基于容器虚拟化的持续集成方法 Download PDF

Info

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
Application number
CN201510995393.9A
Other languages
English (en)
Inventor
覃璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Yi Fang Softcom Ltd
Original Assignee
Hunan Yi Fang Softcom Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan Yi Fang Softcom Ltd filed Critical Hunan Yi Fang Softcom Ltd
Priority to CN201510995393.9A priority Critical patent/CN105653449A/zh
Publication of CN105653449A publication Critical patent/CN105653449A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime 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:运行镜像。
CN201510995393.9A 2015-12-28 2015-12-28 一种基于容器虚拟化的持续集成方法 Pending CN105653449A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浪潮(北京)电子信息产业有限公司 一种基于容器的分布式存储***部署方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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