CN112181403B - 开发运维一体化实现方法、装置、设备及可读存储介质 - Google Patents
开发运维一体化实现方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112181403B CN112181403B CN202011035797.0A CN202011035797A CN112181403B CN 112181403 B CN112181403 B CN 112181403B CN 202011035797 A CN202011035797 A CN 202011035797A CN 112181403 B CN112181403 B CN 112181403B
- Authority
- CN
- China
- Prior art keywords
- code
- pipeline
- development
- tool
- graphical interface
- 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
- 238000011161 development Methods 0.000 title claims abstract description 62
- 238000012423 maintenance Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000010354 integration Effects 0.000 claims abstract description 53
- 230000002085 persistent effect Effects 0.000 claims abstract description 26
- 238000010276 construction Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 8
- 238000012552 review Methods 0.000 claims description 6
- 239000002699 waste material Substances 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012827 research and development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004883 computer application Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种开发运维一体化实现方法、装置、设备及可读存储介质,该方法包括:对运行在物理机环境上的功能组件进行容器化;其中,功能组件与持续集成和/或持续交付对应;在多CPU架构中运行容器化得到的目标功能组件;利用目标功能组件构建代码源,并基于代码源构建流水线;利用图形界面展示流水线对应的逻辑。该该方法中,在多CPU架构中实现了开发运维一体化。由于在多CPU架构中实现devops,可避免使用大量物理机而造成资源浪费,还可集成更多的功能组件,实现弹性伸缩的构建、发布和交付,既提高了效率,也实现了资源的节省和降低了运维成本。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种开发运维一体化实现方法、装置、设备及可读存储介质。
背景技术
持续集成和持续交付对于应用的开发和运维尤为重要。
其中,持续集成是一种软件开发实践,即若干开发成员经常(如每天)集成他们的工作。每次集成可通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。持续交付,一种能够使得应用软件在较短的循环中可靠发布的软件工程方法。与持续集成相比,持续交付的侧重点在于交付,其核心对象不在于代码,而在于可交付的产物。
现有的持续集成、持续交付由于其持续性,即发生的时间频率高,且现有的持续集成、持续交付的方案,难以适应新的商业形态下的快速响应、快速实现、高质量交付等新要求。
综上所述,如何有效地提高持续集成、持续交付的性能等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种开发运维一体化实现方法、装置、设备及可读存储介质,通过通常运行在物理机上的开发运维一体化流程,迁移至多CPU架构(如微服务)中,能够省去大量使用物理机的资源浪费问题,能够满足新的商业形态下的新要求。
为解决上述技术问题,本发明提供如下技术方案:
一种开发运维一体化实现方法,包括:
对运行在物理机环境上的功能组件进行容器化;其中,所述功能组件与持续集成和/或持续交付对应;
在多CPU架构中运行容器化得到的目标功能组件;
利用所述目标功能组件构建代码源,并基于所述代码源构建流水线;
利用图形界面展示所述流水线对应的逻辑。
优选地,所述对运行在物理机环境上的功能组件进行容器化,包括:
创建操作系统,将所述功能组件对应镜像导入所述操作系统;所述功能组件包括:持续集成工具、项目管理工具、代码托管工具、代码评审工具和容器。
优选地,利用所述目标功能组件构建代码源,包括:
在所述代码托管工具中添加对应的代码仓库,并关联所述代码源。
优选地,在所述代码托管工具中添加对应的代码仓库之后,还包括:
利用所述图形界面中的仓库列表,展示所述代码仓库对应的代码仓库信息。
优选地,关联所述代码源,包括:
利用所述图像界面获取具体项目名称、待进行持续集成或持续交付的目标代码源;
对所述项目名称和所述目标代码源,进行关联操作。
优选地,基于所述代码源构建流水线,包括:
基于所述代码源创建所述流水线,并利用所述图形界面获取各个阶段定义和任务定义;
按照所述阶段定义和所述任务定义对所述流水线进行设置。
优选地,所述利用图形界面展示所述流水线对应的逻辑,包括:
基于持续集成工具,结合Pipeline DSL将所述逻辑展示于所述图像界面。
一种开发运维一体化实现装置,包括:
容器化模块,用于对运行在物理机环境上的功能组件进行容器化;其中,所述功能组件与持续集成和/或持续交付对应;
运行模块,用于在多CPU架构中运行容器化得到的目标功能组件;
构建模块,用于利用所述目标功能组件构建代码源,并基于所述代码源构建流水线;
展示模块,用于利用图形界面展示所述流水线对应的逻辑。
一种开发运维一体化实现设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述开发运维一体化实现方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述开发运维一体化实现方法的步骤。
应用本发明实施例所提供的方法,对运行在物理机环境上的功能组件进行容器化;其中,功能组件与持续集成和/或持续交付对应;在多CPU架构中运行容器化得到的目标功能组件;利用目标功能组件构建代码源,并基于代码源构建流水线;利用图形界面展示流水线对应的逻辑。
在本方法中,为使得应用开发和运维满足新商业模式的要求,将在物理机上实现的开发运维一体化(devops),迁移至多CPU架构中实现。具体的实现过程,为了使得多CPU架构可支持开发运维一体化,首先将持续集成和/或持续交付对应的功能组件进行容器化,然后在多CPU架构中运行容器化后得到的目标功能组件。然后,便可利用目标功能组件进行代码源的构建,基于代码源构建流水线,通过图像解码展示流水线对应的逻辑。可见,在本方法中,在多CPU架构中实现了开发运维一体化。由于在多CPU架构中实现devops,可避免使用大量物理机而造成资源浪费,在多CPU架构中实现devops,还可集成更多的功能组件,实现弹性伸缩的构建、发布和交付,既提高了效率,也实现了资源的节省和降低了运维成本。
相应地,本发明实施例还提供了与上述开发运维一体化实现方法相对应的开发运维一体化实现装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种开发运维一体化实现方法的实施流程图;
图2为本发明实施例中一种开发运维一体化实现装置的结构示意图;
图3为本发明实施例中一种开发运维一体化实现设备的结构示意图;
图4为本发明实施例中一种开发运维一体化实现设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在互联网移动互联网等新技术以及全球经济的蓬勃发展催生出新的商业形态,而新的商业形态反过来又强化、促进企业数字化转型的迫切性和It在全球转型过程中扮演着重要的角色。同时,新技术和新的研发工程实践的成熟度也提供了很大帮助。尤其以云计算,包括软件定义网络、存储、网络,为代表的弹性、灵活性的基础设施供给能力;以Docker为代表的新的软件交付模式,简化了交付难度,且非常适合承载微服务架构下的软件交付;以敏捷开发为代表的研发工程实践已经达到了一定的成熟度,小批量、限制在制品等实践方式,使得持续交付成为可能。传统的研发模式和运维管理体系不适应新的商业形态下的新变化、新要求(快速响应、快速实现、高质量交付)。
DevOps,即Development和Operations的组合词,是一组过程、方法与系统的统称,用于促进研发内部以及研发和运维、质量保障部门之前的沟通协作及整合,在本文中简称为开发运维一体化。为解决日益流行的敏捷开发模式所带来的软件快速开发、交付和质量问题,基于DevOps理念,支持绑定代码仓库,提供基于Jenkins的流水线编排,实现多语言的持续集成和持续交付(CI/CD),提供业务应用的自动化构建、集成、测试和发布等一站式服务。
在云计算时代,大量使用物理机构建、发布、交付,对此来说是一种浪费,因此如何使用微服务架构,实现软件持续集成和/或持续交付就是一个需要面临解决的问题。
而本发明的核心提供一种基于容器云的多CPU架构devops方法,使得只使用一个微服务架构来弹性伸缩的来构建、发布、交付,这样提高了效率、也实现了资源的节省和运维成本。具体的实现过程请参考图1,图1为本发明实施例中一种开发运维一体化实现方法的流程图,该方法包括以下步骤:
S101、对运行在物理机环境上的功能组件进行容器化。
其中,功能组件与持续集成和/或持续交付对应。
容器化指应用程序级别的虚拟化,允许单个内核上有多个独立的用户空间实例,这些实例称为容器。容器的特点包括:轻便,容器占用的服务器空间比虚拟机少(如通常只需几秒钟即可启动);容器具有高弹性,不需要分配给定数量的资源,这意味着容器能够更有效地动态使用服务器中的资源,当一个容器上的需求减少时,释放额外的资源供其他容器使用;密度,指一次可以运行单个物理服务器的对象数;容器化允许创建密集的环境,其中主机服务器的资源被充分利用但不被过度利用,与传统虚拟化相比,容器化允许更密集的环境容器不需要托管自己的操作系统;当资源压力很大时,应用程序的性能远远高于使用虚拟机管理程序的容器,因为使用传统的虚拟化,客户操作系统还必须满足其自身的内存需求,从主机上获取宝贵的RAM;由于只有一个操作系统内核,操作系统级别的更新或补丁只需要执行一次,以使更改在所有容器中生效,这使得服务器的操作和维护更加高效。
也就是说,对功能组件进行容器化,即将运行在物理机环境上的功能组件进行虚拟化。
在实际应用中,对于持续集成和持续交付均有相应的功能组件。若想要在多CPU架构中实现持续集成则容器化持续集成对应的功能组件;若想要在多CPU架构中实现持续交付,则容器化持续交付对应的功能组件;若想要在多CPU架构中既实现持续集成,又实现持续交付,则容器化持续集成和持续交付对应的多种功能组件。
在本发明的一种具体实施方式中,步骤S101、对运行在物理机环境上的功能组件进行容器化,可具体包括:创建操作系统,将功能组件对应镜像导入操作系统;功能组件包括:持续集成工具、项目管理工具、代码托管工具、代码评审工具和容器。即,容器化功能组件,可具体为把物理机上搭建的jenkins(持续集成工具)、maven(项目管理工具)、gitlab(代码托管工具)、gerrit(代码评审工具)、docker(容器)等一整套CI/CD(CI对应持续集成、CD对应持续交付)构建流程对应的功能组件容器化,以便迁移到微服务中。
S102、在多CPU架构中运行容器化得到的目标功能组件。
完成功能组件的容器化之后,便可在多CPU架构中运行目标功能组件。如此,在多CPU架构中也能支持CI/CD对应的功能组件。
其中,该多CPU架构可具体为基于容器云的多CPU架构。
S103、利用目标功能组件构建代码源,并基于代码源构建流水线。
在将相关功能组件有效运行在多CPU架构后,便可基于目标功能组件构建代码源,并基于代码源构建流水线。具体的,可先添加业务代码所在的代码仓库,然后关联目标代码源,以便构建流水线时作为代码源使用。
在本发明的一种具体实现方式中,构建代码源可具体包括:在代码托管工具中添加对应的代码仓库,并关联代码源。即添加gitlab(代码托管)仓库,具体包括填写gitlab仓库地址、用户名、密码等信息,最后确定完成。优选地,为了便于用户操作,在代码托管工具中添加对应的代码仓库之后,还可利用图形界面中的仓库列表,展示代码仓库对应的代码仓库信息。以便用户确认是否还存在未添加的仓库,或判断仓库信息是否准确。其中,仓库信息可具体包括是否已关联了目标代码仓库,仓库地址、用户名、密码等信息是否填写准确。
在本发明的一种具体实现方式中,对于关联代码源,可具体包括执行以下步骤:
步骤一、利用图像界面获取具体项目名称、待进行持续集成或持续交付的目标代码源;
步骤二、对项目名称和目标代码源,进行关联操作。
具体的,用户可在图形界面填写具体项目名称,可搜索,选中要实现CI/CD流水线的代码源,勾选该代码源。如此,便可利用图像界面获得具体项目名称获取待进行持续集成或持续交付的目标代码源。然后,针对项目名称和目标代码源进行关联。在多CPU架构中的关联操作实现可具体参见在物体机中进行管理操作的具体实现过程,在此不再一一赘述。
在本发明的一种具体实现方式中,流水线创建过程,包括:
步骤一、基于代码源创建流水线,并利用图形界面获取各个阶段定义和任务定义;
步骤二、按照阶段定义和任务定义对流水线进行设置。
具体的,创建流水线的具体实现方式,可参见在物理机上创建流水线的具体实现过程。创建流水线后,可定义流水线中的各个阶段和任务。具体的,可容器云平台可提供一些典型的执行任务、发布任务外,同时提供用户自定义任务的功能。其中,目前典型任务包括:
构建类:Maven环境、Pyinstaller环境、Golang环境;
发布类:Docker镜像;
其他:克隆代码。
在该流水线中完成代码克隆(clone),编译代码,构建docker镜像,完成部署,最终实现应用/软件的交付。
S104、利用图形界面展示流水线对应的逻辑。
流水线(Pipeline)为基于Jenkins的一系列插件集合,结合Pipeline DSL,将简单到复杂的逻辑利用图形界面呈现给用户。即,可基于持续集成工具,结合Pipeline DSL将逻辑展示于图像界面。
用户可以通过自定义流水线来实现应用的持续集成和持续交付,提高研发效率,降低运维成本。
应用本发明实施例所提供的方法,对运行在物理机环境上的功能组件进行容器化;其中,功能组件与持续集成和/或持续交付对应;在多CPU架构中运行容器化得到的目标功能组件;利用目标功能组件构建代码源,并基于代码源构建流水线;利用图形界面展示流水线对应的逻辑。
在本方法中,为使得应用开发和运维满足新商业模式的要求,将在物理机上实现的开发运维一体化(devops),迁移至多CPU架构中实现。具体的实现过程,为了使得多CPU架构可支持开发运维一体化,首先将持续集成和/或持续交付对应的功能组件进行容器化,然后在多CPU架构中运行容器化后得到的目标功能组件。然后,便可利用目标功能组件进行代码源的构建,基于代码源构建流水线,通过图像解码展示流水线对应的逻辑。可见,在本方法中,在多CPU架构中实现了开发运维一体化。由于在多CPU架构中实现devops,可避免使用大量物理机而造成资源浪费,在多CPU架构中实现devops,还可集成更多的功能组件,实现弹性伸缩的构建、发布和交付,既提高了效率,也实现了资源的节省和降低了运维成本。
相应于上面的方法实施例,本发明实施例还提供了一种开发运维一体化实现装置,下文描述的开发运维一体化实现装置与上文描述的开发运维一体化实现方法可相互对应参照。
参见图2所示,该装置包括以下模块:
容器化模块101,用于对运行在物理机环境上的功能组件进行容器化;其中,功能组件与持续集成和/或持续交付对应;
运行模块102,用于在多CPU架构中运行容器化得到的目标功能组件;
构建模块103,用于利用目标功能组件构建代码源,并基于代码源构建流水线;
展示模块104,用于利用图形界面展示流水线对应的逻辑。
应用本发明实施例所提供的装置,对运行在物理机环境上的功能组件进行容器化;其中,功能组件与持续集成和/或持续交付对应;在多CPU架构中运行容器化得到的目标功能组件;利用目标功能组件构建代码源,并基于代码源构建流水线;利用图形界面展示流水线对应的逻辑。
在本装置中,为使得应用开发和运维满足新商业模式的要求,将在物理机上实现的开发运维一体化(devops),迁移至多CPU架构中实现。具体的实现过程,为了使得多CPU架构可支持开发运维一体化,首先将持续集成和/或持续交付对应的功能组件进行容器化,然后在多CPU架构中运行容器化后得到的目标功能组件。然后,便可利用目标功能组件进行代码源的构建,基于代码源构建流水线,通过图像解码展示流水线对应的逻辑。可见,在本装置中,在多CPU架构中实现了开发运维一体化。由于在多CPU架构中实现devops,可避免使用大量物理机而造成资源浪费,在多CPU架构中实现devops,还可集成更多的功能组件,实现弹性伸缩的构建、发布和交付,既提高了效率,也实现了资源的节省和降低了运维成本。
在本发明的一种具体实施方式中,容器化模块101,具体用于创建操作系统,将功能组件对应镜像导入操作系统;功能组件包括:持续集成工具、项目管理工具、代码托管工具、代码评审工具和容器。
在本发明的一种具体实施方式中,构建模块103,具体用于在代码托管工具中添加对应的代码仓库,并关联代码源。
在本发明的一种具体实施方式中,还包括:
代码仓库信息展示模块,用于在代码托管工具中添加对应的代码仓库之后,利用图形界面中的仓库列表,展示代码仓库对应的代码仓库信息。
在本发明的一种具体实施方式中,构建模块103,具体用于利用图像界面获取具体项目名称、待进行持续集成或持续交付的目标代码源;对项目名称和目标代码源,进行关联操作。
在本发明的一种具体实施方式中,构建模块103,具体用于基于代码源创建流水线,并利用图形界面获取各个阶段定义和任务定义;按照阶段定义和任务定义对流水线进行设置。
在本发明的一种具体实施方式中,展示模块104,具体用于基于持续集成工具,结合Pipeline DSL将逻辑展示于图像界面。
相应于上面的方法实施例,本发明实施例还提供了一种开发运维一体化实现设备,下文描述的一种开发运维一体化实现设备与上文描述的一种开发运维一体化实现方法可相互对应参照。
参见图3所示,该开发运维一体化实现设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的开发运维一体化实现方法的步骤。
具体的,请参考图4,图4为本实施例提供的一种开发运维一体化实现设备的具体结构示意图,该开发运维一体化实现设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在开发运维一体化实现设备301上执行存储器332中的一系列指令操作。
开发运维一体化实现设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的开发运维一体化实现方法中的步骤可以由开发运维一体化实现设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种开发运维一体化实现方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的开发运维一体化实现方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (4)
1.一种开发运维一体化实现方法,其特征在于,包括:
对运行在物理机环境上的功能组件进行容器化;其中,所述功能组件与持续集成和/或持续交付对应;
在多CPU架构中运行容器化得到的目标功能组件;
利用所述目标功能组件构建代码源,并基于所述代码源构建流水线;
利用图形界面展示所述流水线对应的逻辑;
其中,所述对运行在物理机环境上的功能组件进行容器化,包括:
创建操作系统,将所述功能组件对应镜像导入所述操作系统;所述功能组件包括:持续集成工具、项目管理工具、代码托管工具、代码评审工具和容器;
利用所述目标功能组件构建代码源,包括:
在所述代码托管工具中添加对应的代码仓库,并关联所述代码源;
在所述代码托管工具中添加对应的代码仓库之后,还包括:
利用所述图形界面中的仓库列表,展示所述代码仓库对应的代码仓库信息;
关联所述代码源,包括:
利用所述图形界面获取具体项目名称、待进行持续集成或持续交付的目标代码源;
对所述项目名称和所述目标代码源,进行关联操作;
基于所述代码源构建流水线,包括:
基于所述代码源创建所述流水线,并利用所述图形界面获取各个阶段定义和任务定义;
按照所述阶段定义和所述任务定义对所述流水线进行设置;
所述利用图形界面展示所述流水线对应的逻辑,包括:
基于持续集成工具,结合Pipeline DSL将所述逻辑展示于所述图形界面。
2.一种开发运维一体化实现装置,其特征在于,包括:
容器化模块,用于对运行在物理机环境上的功能组件进行容器化;其中,所述功能组件与持续集成和/或持续交付对应;
运行模块,用于在多CPU架构中运行容器化得到的目标功能组件;
构建模块,用于利用所述目标功能组件构建代码源,并基于所述代码源构建流水线;
展示模块,用于利用图形界面展示所述流水线对应的逻辑;
其中,所述容器化模块,具体用于创建操作系统,将所述功能组件对应镜像导入所述操作系统;所述功能组件包括:持续集成工具、项目管理工具、代码托管工具、代码评审工具和容器;
所述构建模块,具体用于在所述代码托管工具中添加对应的代码仓库,并关联所述代码源;
所述装置,还用于利用所述图形界面中的仓库列表,展示所述代码仓库对应的代码仓库信息;
所述装置,还用于利用所述图形界面获取具体项目名称、待进行持续集成或持续交付的目标代码源;
对所述项目名称和所述目标代码源,进行关联操作;
所述构建模块,具体用于基于所述代码源创建所述流水线,并利用所述图形界面获取各个阶段定义和任务定义;
按照所述阶段定义和所述任务定义对所述流水线进行设置;
所述展示模块,具体用于基于持续集成工具,结合Pipeline DSL将所述逻辑展示于所述图形界面。
3.一种开发运维一体化实现设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述开发运维一体化实现方法的步骤。
4.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述开发运维一体化实现方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011035797.0A CN112181403B (zh) | 2020-09-27 | 2020-09-27 | 开发运维一体化实现方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011035797.0A CN112181403B (zh) | 2020-09-27 | 2020-09-27 | 开发运维一体化实现方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181403A CN112181403A (zh) | 2021-01-05 |
CN112181403B true CN112181403B (zh) | 2023-12-22 |
Family
ID=73944627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011035797.0A Active CN112181403B (zh) | 2020-09-27 | 2020-09-27 | 开发运维一体化实现方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181403B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391827B (zh) * | 2021-08-17 | 2021-11-02 | 湖南省佳策测评信息技术服务有限公司 | 一种基于自动化脚本的应用软件发布方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
CN108874650A (zh) * | 2017-05-09 | 2018-11-23 | 上海秦苍信息科技有限公司 | 一种持续集成自动化测试方法 |
CN109344080A (zh) * | 2018-10-31 | 2019-02-15 | 江苏电力信息技术有限公司 | 持续交付与自动化测试一体化集成的软件质量保障方法 |
CN109743199A (zh) * | 2018-12-25 | 2019-05-10 | 中国联合网络通信集团有限公司 | 基于微服务的容器化管理系统 |
CN110058860A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | 一种代码自动交付方法、装置、设备及计算机存储介质 |
KR102109461B1 (ko) * | 2020-02-17 | 2020-05-12 | 주식회사 제이윈파트너스 | 마이크로 서비스 아키텍처(msa) 기반의 프로젝트 자동화 지원 시스템 |
CN111443940A (zh) * | 2020-05-08 | 2020-07-24 | 南京大学 | 一种基于DevOps的完整软件生命周期管理方法及平台 |
-
2020
- 2020-09-27 CN CN202011035797.0A patent/CN112181403B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106873975A (zh) * | 2016-12-30 | 2017-06-20 | 武汉默联股份有限公司 | 基于Docker的devops持续交付与自动化系统及方法 |
CN108874650A (zh) * | 2017-05-09 | 2018-11-23 | 上海秦苍信息科技有限公司 | 一种持续集成自动化测试方法 |
CN109344080A (zh) * | 2018-10-31 | 2019-02-15 | 江苏电力信息技术有限公司 | 持续交付与自动化测试一体化集成的软件质量保障方法 |
CN109743199A (zh) * | 2018-12-25 | 2019-05-10 | 中国联合网络通信集团有限公司 | 基于微服务的容器化管理系统 |
CN110058860A (zh) * | 2019-03-16 | 2019-07-26 | 平安城市建设科技(深圳)有限公司 | 一种代码自动交付方法、装置、设备及计算机存储介质 |
KR102109461B1 (ko) * | 2020-02-17 | 2020-05-12 | 주식회사 제이윈파트너스 | 마이크로 서비스 아키텍처(msa) 기반의 프로젝트 자동화 지원 시스템 |
CN111443940A (zh) * | 2020-05-08 | 2020-07-24 | 南京大学 | 一种基于DevOps的完整软件生命周期管理方法及平台 |
Non-Patent Citations (2)
Title |
---|
CCI:一种基于容器化的持续集成系统;张兆晨;罗铁坚;;中国科学院大学学报(04);全文 * |
基于Docker的CaaS管理平台架构研究与设计;张琦;;计算机应用与软件(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112181403A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115292026B (zh) | 容器集群的管理方法、装置、设备及计算机可读存储介质 | |
US9996336B2 (en) | Apparatus and method for validating application deployment topology in cloud computing environment | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
US20140344123A1 (en) | Dynamically modifying workload patterns in a cloud | |
JP2017107555A (ja) | ソフトウェア・コンテナ中のソフトウェアの識別を決定するための方法、システム、およびプログラム | |
CN105814539A (zh) | 用于代码虚拟化和远程进程调用生成的方法和装置 | |
US11029943B1 (en) | Processing framework for in-system programming in a containerized environment | |
CN107679832A (zh) | 任务管理方法、装置和服务器 | |
US11928489B2 (en) | Extension application mechanisms through intra-process operation systems | |
US11379204B2 (en) | Staging service | |
CN112486491A (zh) | 页面生成方法、装置、计算机设备及存储介质 | |
CN111782181A (zh) | 代码生成方法、装置、电子设备以及存储介质 | |
CN112286633A (zh) | 基于CloudStack平台的虚拟机创建方法、装置、设备及存储介质 | |
US20140143752A1 (en) | Systems and methods for providing environments as a service | |
CN115291946A (zh) | 鸿蒙系统移植方法、装置、电子设备及可读介质 | |
CN112181403B (zh) | 开发运维一体化实现方法、装置、设备及可读存储介质 | |
WO2022100439A1 (en) | Workflow patching | |
Tang et al. | Application centric lifecycle framework in cloud | |
Raj et al. | Building Microservices with Docker Compose | |
CN110599112B (zh) | 一种网络页面开发、维护方法和装置 | |
CN112698918A (zh) | 基于构建环境的虚拟机文件生成方法、装置 | |
CN111414232A (zh) | 虚拟机模板数据处理方法及装置 | |
CN110971665A (zh) | 一种对接多类型存储的管理方法、系统、设备及存储介质 | |
CN111399969B (zh) | 一种虚拟资源编排系统、方法、装置、介质和设备 | |
CN118276846A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |