CN117667109A - 一种环境部署方法、装置、电子设备及存储介质 - Google Patents
一种环境部署方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117667109A CN117667109A CN202311368244.0A CN202311368244A CN117667109A CN 117667109 A CN117667109 A CN 117667109A CN 202311368244 A CN202311368244 A CN 202311368244A CN 117667109 A CN117667109 A CN 117667109A
- Authority
- CN
- China
- Prior art keywords
- deployment
- environment
- target environment
- package
- configuration parameters
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000009877 rendering Methods 0.000 claims abstract description 15
- 238000011161 development Methods 0.000 claims description 55
- 238000012360 testing method Methods 0.000 claims description 38
- 238000007689 inspection Methods 0.000 claims description 16
- 238000010276 construction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 12
- 230000010354 integration Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003339 best practice Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开一种环境部署方法、装置、电子设备及存储介质,其中所述方法包括:获取目标环境的部署镜像包及部署配置参数;根据获取的部署配置参数,对预先创建的通用资源文件进行渲染,得到所述目标环境对于设定平台的资源文件;使用所得到的资源文件,将所述目标环境的部署镜像包发布在所述设定平台,以在所述设定平台上部署所述目标环境。本发明实施例提供的技术方案能够减少部署过程中配置管理的重复工作,提高配置管理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种环境部署方法、装置、电子设备及存储介质。
背景技术
DevOps流水线是一种自动化工作流程,旨在加快软件开发和交付的速度,同时提高软件质量。它结合了开发(Development)和运维(Operations)的最佳实践,通过持续集成、持续交付等环节,实现软件的快速、可靠的交付。DevOps流水线通常包括:
持续集成(Continuous Integration):开发人员将代码频繁地集成到共享代码仓库中,然后自动构建和测试代码,以发现和解决代码集成错误,确保团队成员的代码能够无缝地集成在一起;
持续交付(Continuous Delivery):将代码自动部署到一个类似于生产环境的预发布环境中,该环境会进行全面的测试,包括性能测试、安全性测试和用户验收测试等。
其中,在DevOps流水线中软件开发生命周期中的不同阶段,如开发过程中的代码合并至已有分支阶段、新分支创建阶段,测试阶段等,都需要进行相应阶段的环境部署,并且在环境部署过程中要进行配置管理。现有技术中,软件开发生命周期的每个阶段都是按照自己的环境部署要求创建并执行一套自己的配置管理流水线,由此会产生如下问题:
可能导致重复的工作和重复的配置管理步骤,这样会增加工作量和时间消耗,并可能导致不一致的配置结果;
维护困难,每个阶段都有自己独立的配置管理流水线,可能需要分别维护和更新这些流水线;当需求或配置变更时,需要在每个阶段的流水线中进行相应的更改,增加了维护的复杂性和风险。
发明内容
有鉴于此,本发明实施例提供一种环境部署方法、装置、电子设备及存储介质,以减少部署过程中配置管理的重复工作,提高配置管理效率。
第一方面,本发明实施例提供一种环境部署方法,包括:
获取目标环境的部署镜像包及部署配置参数;
根据获取的部署配置参数,对预先创建的通用资源文件进行渲染,得到所述目标环境对于设定平台的资源文件;
使用所得到的资源文件,将所述目标环境的部署镜像包发布在所述设定平台,以在所述设定平台上部署所述目标环境。
进一步的,在获取目标环境的部署镜像包之前,所述方法还包括:
接收到指示代码合并的第一开发环境部署请求后,将指示合并的代码合并至对应分支;
将执行完合并操作的分支代码进行质量审查和编译,在编译过程中构建执行完合并操作的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
进一步的,在获取待部署的目标代码的镜像包之前,所述方法还包括:
接收指示微服务发布的第二开发环境部署请求;
按照所述第二开发环境部署请求,得到待发布微服务所对应的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
进一步的,在获取目标环境的部署镜像包之前,所述方法还包括:
接收测试环境部署请求;
按照所述测试环境部署请求,得到对应分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
进一步的,获取目标环境的部署配置参数,包括:
获取目标环境的环境配置参数、平台部署配置参数和安全配置参数。
第二方面,本发明实施例提供一种环境部署装置,包括:
获取单元,用于获取目标环境的部署镜像包及部署配置参数;
渲染单元,用于根据获取的部署配置参数,对预先创建的通用资源文件进行渲染,得到所述目标环境对于设定平台的资源文件;
部署单元,用于使用渲染单元所得到的资源文件,将所述目标环境的部署镜像包发布在所述设定平台,以在所述设定平台上部署所述目标环境。
进一步的,所述装置还包括构建单元,用于在获取单元获取目标环境的部署镜像包之前:
接收到指示代码合并的第一开发环境部署请求后,将指示合并的代码合并至对应分支;
将执行完合并操作的分支代码进行质量审查和编译,在编译过程中构建执行完合并操作的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
进一步的,所述装置还包括第一取得单元,用于在获取单元获取待部署的目标代码的镜像包之前:
接收指示微服务发布的第二开发环境部署请求;
按照所述第二开发环境部署请求,得到待发布微服务所对应的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
进一步的,所述装置还包括第二取得单元,用于在获取单元用于获取目标环境的部署镜像包之前:
接收测试环境部署请求;
按照所述测试环境部署请求,得到对应分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
进一步的,获取单元用于获取目标环境的部署配置参数,包括:获取目标环境的环境配置参数、平台部署配置参数和安全配置参数。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述第一方面所述的环境部署方法。
第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述第一方面所述的环境部署方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例一提供的一种环境部署方法的流程图;
图2为本发明实施例二提供的一种环境部署方法的流程图;
图3为本发明实施例三提供的一种环境部署装置的结构示意图;
图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种环境部署方法,该方法可以由对应的环境部署装置执行。参见图1,该方法具体包括如下步骤101-103。
步骤101、获取目标环境的部署镜像包及部署配置参数。
目前,设定平台管理和调度有多个应用程序,而每个应用程序在正式运行之前需先后历经开发和测试阶段,以确保应用程序的稳定性和可靠性。其中,无论是开发阶段,还是测试阶段,都要在设定平台部署相应环境,用于开发人员进行应用程序的代码编写和测试等操作。本步骤101中,目标环境可以是待在设定平台上部署的开发环境或测试环境。部署的开发环境,用于开发人员在该环境下进行应用程序的代码编写;部署的测试环境,用于测试人员在该环境下对应用程序进行全面的功能测试和性能测试,找出潜在的问题并进行优化。
具体的,在一种情形下,目标环境为一种开发环境。相应的,在获取目标环境的部署镜像包之前,还包括:
接收到指示代码合并的第一开发环境部署请求后,将指示合并的代码合并至对应分支;
将执行完合并操作的分支代码进行质量审查和编译,在编译过程中构建执行完合并操作的分支代码在不同架构下的容器镜像包。
其中,一个分支的代码可实现一个微服务,用于在设定平台部署第一开发环境,通常由多个开发人员编写的开发代码合并而成。示例性的,在接收到开发人员提交的自己负责编写的开发代码后,对该提交代码进行质量审查,审查通过后,接收开发人员针对已通过质量审查的开发代码发起的指示代码合并的第一开发环境部署请求,将审查通过的开发代码合并至对应分支;之后,为避免因开发代码错误而导致目标环境部署失败或不稳定,需将执行完合并操作的分支代码再次进行质量审查并进行编译,编译过程中构建该分支代码的容器镜像包。此外,为保证在设定平台部署的目标环境能够适配多种CPU架构,在不同操作系统间可平滑迁移,本实施例对执行完合并操作的分支代码构建多种架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。本实施例中,不同架构可包括:x86架构、ARM架构、POWER架构和MIPS架构等,具体选择何种架构下的容器镜像包可由本领域技术人员根据实际的应用场景和设定平台的硬件情况而定。
在另一种情形下,目标环境为另一种开发环境。相应的,在获取待部署的目标代码的镜像包之前,还包括:
接收指示微服务发布的第二开发环境部署请求;
按照第二开发环境部署请求,得到待发布微服务所对应的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
同上,一个分支的代码可实现一个微服务,用于在部署第二开发环境。
再一种情形下,目标环境为测试环境。相应的,在获取目标环境的部署镜像包之前,还包括:
接收测试环境部署请求;
按照测试环境部署请求,得到对应分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
其中,测试环境部署请求对应分支代码可实现一个微服务,用于在设定平台上部署测试环境。
进一步的,获取目标环境的部署配置参数,包括:
获取目标环境的环境配置参数、平台部署配置参数和安全配置参数。
其中,环境配置参数包括适配的CPU架构、数据库连接、在设定平台上监听和接受请求的网络端口等环境相关的配置参数;平台部署配置参数包括设定平台、部署路径、在设定平台的资源需求等配置参数;安全配置参数包括用户的访问控制、身份验证、通信加密等配置参数。这些部署配置参数可由本领域技术人员根据自身需求、具体的应用场景和设定平台的硬件情况预先设定好,写在配置文件中。
步骤102、根据获取的部署配置参数,对预先创建的通用资源文件进行渲染,得到目标环境对于设定平台的资源文件。
具体实施时,本步骤102可通过如下操作实现:
确定通用资源文件:首先,确定需要进行渲染的通用资源文件;通用资源文件是在部署配置过程中,用来创建和配置目标环境在设定平台的基本资源定义文件,例如Kubernetes YAML文件;
定义模板文件:根据通用资源文件,创建对应的模板文件;模板文件是一个包含占位符的文件,用来表示需要根据部署配置参数进行替换的部分;在模板文件中,可以使用一些特定的标记语法来表示占位符,例如Go语言的{{.Variable}}或Jinja2的{{variable}};
解析部署配置参数:根据获取的部署配置参数,解析需要替换的值;部署配置参数包括环境配置参数、平台部署配置参数和安全配置参数;根据具体的需求,可以根据参数名称或其他标识符来获取相应的值;
渲染模板文件:使用模板引擎或相应的渲染工具,将解析后的部署配置参数应用到模板文件中的占位符上;渲染工具会根据模板文件和部署配置参数生成最终的目标资源文件;
保存目标资源文件:将渲染后的目标资源文件保存到指定的目录或位置;这些资源文件可以直接用于在设定平台部署和配置目标环境。
通过以上步骤,可以根据获取的部署配置参数对预先创建的通用资源文件进行渲染,得到适用于目标环境和设定平台的资源文件。这样可以根据不同的部署需求和配置参数,生成定制化的资源文件,以满足特定环境和平台的要求。
步骤103、使用所得到的资源文件,将目标环境的部署镜像包发布在设定平台,以在设定平台上部署目标环境。
具体的,可先将目标环境的部署镜像包上传到设定平台的镜像仓库。镜像仓库是一个用于存储和管理容器镜像的中央存储库。可以使用设定平台提供的命令行工具或API来上传镜像包。在上传镜像包时,需要指定镜像名称和标签,以便后续在部署中引用。
而后,将步骤102中所得到的目标环境对于设定平台的资源文件应用到设定平台上,以使设定平台会根据该资源文件,创建和管理容器实例,并将目标环境的部署镜像包部署到这些容器实例上。
实施例二
本实施例在上述实施例一的基础上,提供一优选实施例,本实施例中设定平台为Kubernetes(k8s)集群。参见图2,一种环境部署方法,包括如下步骤。
一、第一开发环境部署
(1)生成部署镜像包
开发人员将自己负责编写的微服务开发代码提交至GitLab,触发GitLab代码质量审查流水线,对该提交代码进行质量审查,其中包括代码扫描、单元自测等操作,审查通过后,执行步骤(2);其中,所述微服务为第一开发环境部署服务。优选的,在提交代码至GitLab时,GitLab可先对提交代码的开发人员进行权限认证,只有认证通过的才可执行下一步的代码质量审查。
开发人员针对已通过代码质量审查的提交,发起指示代码合并的第一开发环境部署请求,开发负责人对该请求进行代码复查,然后接受该请求,将审查通过的微服务开发代码合并至微服务对应分支,并触发GitLab构建镜像流水线,该流水线包括代码质量审查、代码编译、镜像构建和镜像上传。其中,代码质量审查包括代码扫描、单元自测等操作;对代码质量审查通过的微服务开发代码进行编译,编译过程中,使用Docker提供的buildx工具,进行跨架构镜像的构建,构建出适用于不同架构下的微服务的容器镜像包,作为部署镜像包。每种架构都对应有自己的部署镜像包,且部署镜像包可分为多个版本,对应不同标签,例如下表:
完成构建的容器镜像包可被上传到Harbor仓库,后续可以通过需要部署的第一开发环境对应的容器镜像包名称、标签(架构标识和版本标识)从Harbor仓库拉取对应的镜像包。
(2)生成资源文件
在本实施例中,可预先在CUE的配置文件中存储目标环境(即第一开发环境)的部署配置参数,并创建通用资源文件。在生成部署镜像包后,可通过GitLab CI/CD中提供的trigger触发配置管理流水线来生成资源文件。具体的,可由CUE根据配置文件中的部署配置参数和k8s集群资源文件语法要求,对所述通用资源文件进行渲染,得到目标环境(即第一开发环境)对于k8s集群的资源文件。
(3)部署环境
从Harbor仓库拉取在k8s集群部署目标环境(即第一开发环境)所对应的容器镜像包;使用生成的资源文件,将拉取到的部署镜像包发布在k8s集群,以在k8s集群上部署目标环境(即第一开发环境)。
二、第二开发环境部署
(1)拉取部署镜像包
接收输入的待发布的微服务名称和版本,作为指示微服务发布的第二开发环境部署请求;
按照第二开发环境部署请求的微服务名称和版本,从Harbor仓库拉取在k8s集群部署第二开发环境所对应的容器镜像包,其中,微服务名称通常与容器镜像包名称一致,不一致时可通过两者的映射关系确定对方;如果拉取成功,则执行后续步骤,如果拉取失败,则需实时构建所拉取的容器镜像包,具体的构建过程可参见上述第一开发环境部署部分生成部署镜像包的步骤。
(2)生成资源文件
在本实施例中,可预先在CUE的配置文件中存储目标环境(即第二开发环境)的部署配置参数,并创建通用资源文件。在生成部署镜像包后,可通过GitLab CI/CD中提供的trigger触发配置管理流水线来生成资源文件。具体的,可由CUE根据配置文件中的部署配置参数和k8s集群资源文件语法要求,对所述通用资源文件进行渲染,得到目标环境(即第二开发环境)对于k8s集群的资源文件。
(3)部署环境
从Harbor仓库拉取在k8s集群部署目标环境(即第二开发环境)所对应的容器镜像包;使用生成的资源文件,将拉取到的部署镜像包发布在k8s集群,以在k8s集群上部署目标环境(即第二开发环境)。
三、测试环境的部署
(1)拉取部署镜像包
接收输入的测试环境部署的微服务名称和版本,作为测试环境部署请求;
按照测试环境部署请求的微服务名称和版本,从Harbor仓库拉取在k8s集群部署测试环境所对应的容器镜像包,其中,微服务名称通常与容器镜像包名称一致,不一致时可通过两者的映射关系确定对方;如果拉取成功,则执行后续步骤,如果拉取失败,则需实时构建所拉取的容器镜像包,具体的构建过程可参见上述第一开发环境部署部分生成部署镜像包的步骤。
(2)生成资源文件
在本实施例中,可预先在CUE的配置文件中存储目标环境(即测试环境)的部署配置参数,并创建通用资源文件。在生成部署镜像包后,可通过GitLab CI/CD中提供的trigger触发配置管理流水线来生成资源文件。具体的,可由CUE根据配置文件中的部署配置参数和k8s集群资源文件语法要求,对所述通用资源文件进行渲染,得到目标环境(即测试环境)对于k8s集群的资源文件。
(3)部署环境
从Harbor仓库拉取在k8s集群部署目标环境(即测试环境)所对应的容器镜像包;使用生成的资源文件,将拉取到的部署镜像包发布在k8s集群,以在k8s集群上部署目标环境(即测试环境)。
实施例三
本实施例提供了一种环境部署装置,该装置可由软件和/或硬件实现,用于执行本发明实施例所述的环境部署方法。参见图3,该装置具体包括以下单元:
获取单元301,用于获取目标环境的部署镜像包及部署配置参数;
渲染单元302,用于根据获取的部署配置参数,对预先创建的通用资源文件进行渲染,得到所述目标环境对于设定平台的资源文件;
部署单元303,用于使用渲染单元302所得到的资源文件,将所述目标环境的部署镜像包发布在所述设定平台,以在所述设定平台上部署所述目标环境。
作为一种可选的实施方式,本实施例中的环境部署装置还包括构建单元304,用于在获取单元301获取目标环境的部署镜像包之前:
接收到指示代码合并的第一开发环境部署请求后,将指示合并的代码合并至对应分支;
将执行完合并操作的分支代码进行质量审查和编译,在编译过程中构建执行完合并操作的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
作为一种可选的实施方式,本实施例中的环境部署装置还包括第一取得单元305,用于在获取单元301获取待部署的目标代码的镜像包之前:
接收指示微服务发布的第二开发环境部署请求;
按照所述第二开发环境部署请求,得到待发布微服务所对应的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
作为一种可选的实施方式,所述装置还包括第二取得单元306,用于在获取单元301获取目标环境的部署镜像包之前:
接收测试环境部署请求;
按照所述测试环境部署请求,得到对应分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
进一步的,获取单元301用于获取目标环境的部署配置参数,包括:
获取目标环境的环境配置参数、平台部署配置参数和安全配置参数。本实施例提供的环境部署装置与前述方法实施例属于同一发明构思,未在本实施例中描述的技术细节可参见前述方法实施例中的相关描述,在此不再赘述。
图4为本发明电子设备一个实施例的结构示意图,可以实现本发明实施例一或实施例二的流程,如图4所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的环境部署方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明实施例一和二的描述,在此不再赘述。
该电子设备可以是服务器,即提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
再者,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述实施例所述的环境部署方法。
本发明实施例提供的技术方案建立了一个统一的配置管理流水线,将不同阶段下环境部署的配置管理集成到一起,实现统一的配置管理和自动化部署,这样可以减少重复工作、提高维护效率、减少配置差异。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种环境部署方法,其特征在于,所述方法包括:
获取目标环境的部署镜像包及部署配置参数;
根据获取的部署配置参数,对预先创建的通用资源文件进行渲染,得到所述目标环境对于设定平台的资源文件;
使用所得到的资源文件,将所述目标环境的部署镜像包发布在所述设定平台,以在所述设定平台上部署所述目标环境。
2.根据权利要求1所述的方法,其特征在于,在获取目标环境的部署镜像包之前,所述方法还包括:
接收到指示代码合并的第一开发环境部署请求后,将指示合并的代码合并至对应分支;
将执行完合并操作的分支代码进行质量审查和编译,在编译过程中构建执行完合并操作的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
3.根据权利要求1所述的方法,其特征在于,在获取待部署的目标代码的镜像包之前,所述方法还包括:
接收指示微服务发布的第二开发环境部署请求;
按照所述第二开发环境部署请求,得到待发布微服务所对应的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
4.根据权利要求1所述的方法,其特征在于,在获取目标环境的部署镜像包之前,所述方法还包括:
接收测试环境部署请求;
按照所述测试环境部署请求,得到对应分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
5.根据权利要求1所述的方法,其特征在于,获取目标环境的部署配置参数,包括:
获取目标环境的环境配置参数、平台部署配置参数和安全配置参数。
6.一种环境部署装置,其特征在于,所述装置包括:
获取单元,用于获取目标环境的部署镜像包及部署配置参数;
渲染单元,用于根据获取的部署配置参数,对预先创建的通用资源文件进行渲染,得到所述目标环境对于设定平台的资源文件;
部署单元,用于使用渲染单元所得到的资源文件,将所述目标环境的部署镜像包发布在所述设定平台,以在所述设定平台上部署所述目标环境。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括构建单元,用于在获取单元获取目标环境的部署镜像包之前:
接收到指示代码合并的第一开发环境部署请求后,将指示合并的代码合并至对应分支;
将执行完合并操作的分支代码进行质量审查和编译,在编译过程中构建执行完合并操作的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括第一取得单元,用于在获取单元获取待部署的目标代码的镜像包之前:
接收指示微服务发布的第二开发环境部署请求;
按照所述第二开发环境部署请求,得到待发布微服务所对应的分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括第二取得单元,用于在获取单元获取目标环境的部署镜像包之前:
接收测试环境部署请求;
按照所述测试环境部署请求,得到对应分支代码在不同架构下的容器镜像包,其中每一架构下的容器镜像包为一种目标环境的部署镜像包。
10.根据权利要求6所述的装置,其特征在于,获取单元用于获取目标环境的部署配置参数,包括:
获取目标环境的环境配置参数、平台部署配置参数和安全配置参数。
11.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述1-5中任一权利要求所述的环境部署方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个中央处理器执行,以实现前述1-5中任一权利要求所述的环境部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311368244.0A CN117667109A (zh) | 2023-10-20 | 2023-10-20 | 一种环境部署方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311368244.0A CN117667109A (zh) | 2023-10-20 | 2023-10-20 | 一种环境部署方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117667109A true CN117667109A (zh) | 2024-03-08 |
Family
ID=90075990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311368244.0A Pending CN117667109A (zh) | 2023-10-20 | 2023-10-20 | 一种环境部署方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667109A (zh) |
-
2023
- 2023-10-20 CN CN202311368244.0A patent/CN117667109A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9367305B1 (en) | Automatic container definition | |
US9582268B2 (en) | Automatic communications graphing for a source application | |
US8683430B2 (en) | Synchronizing development code and deployed executable versioning within distributed systems | |
US10083027B2 (en) | Systems and methods for managing software development environments | |
CN111158674B (zh) | 组件管理方法、系统、设备及存储介质 | |
US20170123777A1 (en) | Deploying applications on application platforms | |
JP2021518619A (ja) | コネクタ開発および統合チャネル展開のためのシステムおよび方法 | |
US10366112B2 (en) | Compiling extract, transform, and load job test data cases | |
US10120658B2 (en) | Method and system for realizing software development tasks | |
US20190286547A1 (en) | Reproduction of testing scenarios in a continuous integration environment | |
US7870169B2 (en) | Method for enabling traceability and recovery from errors during migration of software applications | |
CN108920139B (zh) | 一种程序生成方法、装置、系统、电子设备及存储介质 | |
US10146674B2 (en) | Plugin-based software verification system | |
US20070234328A1 (en) | File handling for test environments | |
CN114115838A (zh) | 一种基于分布式组件和云平台的数据交互方法及系统 | |
US11099837B2 (en) | Providing build avoidance without requiring local source code | |
CN113094238A (zh) | 一种业务系统异常监控方法及装置 | |
CN110865806A (zh) | 代码处理方法、装置、服务器及存储介质 | |
US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
CN116225911A (zh) | 一种可观测性平台的功能测试方法及装置 | |
CN117667109A (zh) | 一种环境部署方法、装置、电子设备及存储介质 | |
CN114115982A (zh) | 代码发布方法、装置、设备及存储介质 | |
CN111367796A (zh) | 应用程序调试方法及装置 | |
KR101506656B1 (ko) | 애플리케이션 품질 관리를 위한 시스템 및 그 방법 | |
CN117931159B (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 |