CN107885551A - 一种服务部署方法、装置、可读介质及存储控制器 - Google Patents
一种服务部署方法、装置、可读介质及存储控制器 Download PDFInfo
- Publication number
- CN107885551A CN107885551A CN201711205451.9A CN201711205451A CN107885551A CN 107885551 A CN107885551 A CN 107885551A CN 201711205451 A CN201711205451 A CN 201711205451A CN 107885551 A CN107885551 A CN 107885551A
- Authority
- CN
- China
- Prior art keywords
- deployment
- container
- file
- service
- target
- 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 38
- 238000009434 installation Methods 0.000 claims abstract description 88
- 238000000605 extraction Methods 0.000 claims abstract description 4
- 238000010276 construction Methods 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 8
- 239000002184 metal Substances 0.000 description 6
- 239000000203 mixture Substances 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical 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/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种服务部署方法、装置、可读介质及存储控制器,该方法包括:构建部署文件包;其中,所述部署文件包中包括:至少一个待安装容器对应的容器安装文件,以及至少一个待部署服务对应的服务部署文件;接收部署指令;根据所述部署指令,从所述部署文件包中提取至少一个待安装容器对应的所述容器安装文件,以及至少一个待部署服务对应的所述服务部署文件;利用提取的所述容器安装文件,安装至少一个目标容器;利用所述服务部署文件,在安装的所述容器中部署至少一个目标服务。本方案能降低部署运维环境的工作量。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种服务部署方法、装置、可读介质及存储控制器。
背景技术
随着计算机技术的发展,软件开发商不断开发出新系统以满足用户不同的需求,在软件厂商开发运维系统时,合适的运维环境对实现系统系统功能具有重要作用。
开发运维系统时,一般有三个运维环境需要频繁且重复的部署,首先在开发阶段,开发人员需要在合适的开发环境中对编写的程序进行调试,然后在测试阶段,开发人员需要一个测试环境为其提供测试数据,最后在系统成熟时,需要一个用于向市场人员演示的演示环境。
在重复部署这三个运维环境时,开发人员需要分别在每个环境中安装系统,并在系统中安装和配制系统运行所需的组件以及调整系统运行参数,工作量较大,并且运维环境每更换一个运行主机,开发人员又需要重新部署一次,由此导致部署运维环境的工作量较大。
发明内容
本发明实施例提供了一种服务部署方法、装置、可读介质及存储控制器,能降低部署运维环境的工作量。
第一方面,本发明实施例提供了一种服务部署方法,包括:
构建部署文件包;其中,所述部署文件包中包括:至少一个待安装容器对应的容器安装文件,以及至少一个待部署服务对应的服务部署文件;
还包括:
接收部署指令;
根据所述部署指令,从所述部署文件包中提取至少一个待安装容器对应的所述容器安装文件,以及至少一个待部署服务对应的所述服务部署文件;
利用提取的所述容器安装文件,安装至少一个目标容器;
利用所述服务部署文件,在安装的所述容器中部署至少一个目标服务。
优选地,
所述部署文件包包括:数据子文件夹;其中,所述数据子文件夹包括:所述至少一个待安装容器对应的安装环境参数;
所述利用提取的所述容器安装文件,安装至少一个目标容器,包括:
根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
优选地,
所述部署文件包包括:启动脚本;
所述根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器,包括:
根据所述部署指令,从所述部署文件包中查找所述启动脚本,并运行查找到的所述启动脚本;
利用运行的所述启动脚本,获取部署环境对应的部署环境参数;
将所述部署环境参数存储至所述数据子文件夹,利用所述部署环境参数对所述安装环境参数进行更新;
根据更新后的所述安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
优选地,
所述部署文件包包括:基础镜像子文件夹;其中,所述基础镜像子文件夹包括:至少一个所述待安装容器对应的基础镜像;
所述利用提取的所述容器安装文件,安装至少一个目标容器,包括:
从所述至少一个待安装容器对应的基础镜像中,确定与所述目标容器对应的目标基础镜像;
根据确定出的所述目标基础镜像,构建所述目标容器。
第二方面,本发明实施例提供了一种服务部署装置,包括:构建单元、提取单元和部署单元;其中,
所述构建单元,用于构建部署文件包;其中,所述部署文件包中包括:至少一个待安装容器对应的容器安装文件,以及至少一个待部署服务对应的服务部署文件;
所述提取单元,用于接收部署指令,并根据所述部署指令,从所述部署文件包中提取至少一个待安装容器对应的所述容器安装文件,以及至少一个待部署服务对应的所述服务部署文件;
所述部署单元,用于利用提取的所述容器安装文件,安装至少一个目标容器,并利用所述服务部署文件,在安装的所述容器中部署至少一个目标服务。
优选地,
所述部署文件包包括:数据子文件夹;其中,所述数据子文件夹包括:所述至少一个待安装容器对应的安装环境参数;
所述部署单元,用于根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
优选地,
所述部署文件包包括:启动脚本;
所述部署单元,用于根据所述部署指令,从所述部署文件包中查找所述启动脚本,并运行查找到的所述启动脚本;利用运行的所述启动脚本,获取部署环境对应的部署环境参数;将所述部署环境参数存储至所述数据子文件夹,利用所述部署环境参数对所述安装环境参数进行更新;根据更新后的所述安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
优选地,
所述部署文件包包括:基础镜像子文件夹;其中,所述基础镜像子文件夹包括:至少一个所述待安装容器对应的基础镜像;
所述部署单元,用于从所述至少一个待安装容器对应的基础镜像中,确定与所述目标容器对应的目标基础镜像,并根据确定出的所述目标基础镜像,构建所述目标容器。
第三方面,本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。
第四方面,本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。
本发明实施例提供了一种服务部署方法、装置、可读介质及存储控制器,通过构建包括容器安装文件和服务部署文件的部署文件包,当接收到部署指令时,从部署文件包中提取容器安装文件和服务部署文件,并利用提取的容器安装文件,自动安装目标容器,并利用提取的服务部署文件,自动在目标容器中部署目标服务。由此,工作人员仅需将部署文件包安装到部署主机,即可自动完成服务系统的部署,而无需逐个安装组件并调试其运行参数,从而降低了部署运维环境的工作量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种服务部署方法的流程图;
图2是本发明一个实施例提供的一种服务部署装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种服务部署方法,该方法可以包括以下步骤:
步骤101:构建部署文件包;其中,所述部署文件包中包括:至少一个待安装容器对应的容器安装文件,以及至少一个待部署服务对应的服务部署文件;
步骤102:接收部署指令;
步骤103:根据所述部署指令,从所述部署文件包中提取至少一个待安装容器对应的所述容器安装文件,以及至少一个待部署服务对应的所述服务部署文件;
步骤104:利用提取的所述容器安装文件,安装至少一个目标容器;
步骤105:利用所述服务部署文件,在安装的所述容器中部署至少一个目标服务。
上述实施例中,通过构建包括容器安装文件和服务部署文件的部署文件包,当接收到部署指令时,从部署文件包中提取容器安装文件和服务部署文件,并利用提取的容器安装文件,自动安装目标容器,并利用提取的服务部署文件,自动在目标容器中部署目标服务。由此,工作人员仅需将部署文件包安装到部署主机,即可自动完成服务系统的部署,而无需逐个安装组件并调试其运行参数,从而降低了部署运维环境的工作量。
在传统的系统部署方式下,三个运维环境的部署会占用开发人员大量的精力,需要安装系统,并在系统中安装和配置程序运行所需的容器、数据库等依赖组件,部署程序到容器并调整程序运行参数,对于部署这样一个大型系统而言,往往需要2天甚至更长的时间,每当换一个主机时,这些工作都需要重新再来一遍。使用本实施例提出的方法,则可将上述运维环境的部署缩短至1-2分钟。
本发明一个实施例中,所述部署文件包包括:数据子文件夹;其中,所述数据子文件夹包括:所述至少一个待安装容器对应的安装环境参数;
步骤104的具体实施方式,可以包括:
根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
例如,部署文件包的名称为media-service,在此文件夹下,存放有数据子文件夹,例如data子文件夹,用于存放容器在之前的环境中映射卷的数据,如图片、数据库,对于一个全新的系统而言,此文件夹可能不包含任何内容,但对于特殊的环境而言,如演示环境,需要部署的系统包含预初始化的数据,则此文件夹下存放的文件,可映射卷至指定服务容器的内部,提供已初始化完成的数据。由此,将容器在之前环境中的数据作为本次安装容器的一种依据,有利于快速准确的安装容器,从而提高运维环境的部署效率。
本发明一个实施例中,所述部署文件包包括:启动脚本;
所述根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器,包括:
根据所述部署指令,从所述部署文件包中查找所述启动脚本,并运行查找到的所述启动脚本;
利用运行的所述启动脚本,获取部署环境对应的部署环境参数;
将所述部署环境参数存储至所述数据子文件夹,利用所述部署环境参数对所述安装环境参数进行更新;
根据更新后的所述安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
例如,media-service文件下存放有start.sh文件,这是一段用于从一个空Linux主机中一键安装容器平台并部署应用系统服务的Shell脚本。该Shell脚本可检测到所处主机对应的部署环境参数,例如,获取到其所处主机的IP地址,然后利用获取到的IP地址替换data子文件夹中原有的IP地址,即对安装环境参数进行更新,使得更新后的安装环境参数更符合当前安装环境,有利于容器安装,从而有利于进一步提高运维环境的部署效率。
另外,Shell脚本还可自动安装容器工具,在重复部署时删除导入映射卷所需的资源文件,即重复部署时不再需要的数据以及提供启动服务,同时提供若干启动参数,可使用户自定义系统部署的过程,以此提高用户体验。
本发明一个实施例中,所述部署文件包包括:基础镜像子文件夹;其中,所述基础镜像子文件夹包括:至少一个所述待安装容器对应的基础镜像;
步骤104的具体实施方式,可以包括:
从所述至少一个待安装容器对应的基础镜像中,确定与所述目标容器对应的目标基础镜像;
根据确定出的所述目标基础镜像,构建所述目标容器。
在这里,media-service文件下存放有base-images.tar文件,该文件是使用docker save–O导出的基础镜像集合,该文件中包含了至少1个docker镜像,所有业务镜像构建时依赖的镜像均包含在此文件中。考虑到国内网络环境及有些环境无法连接公网的因素,利用此文件可快速获取容器的镜像集合,并使用docker load进行基础镜像的导入,由此,采用在基础镜像中构建业务镜像的方式,使得可支持更多的部署场景,且更为灵活。
下面以Docker平台工具作为示例,说明如何建立单点应用部署的快速、便捷以及可复用的模式。首先将系统所需服务的代码打包,并将部署环境依赖的资源,如配置文件、图片等文件资源,按服务划分子文件夹,放置在部署文件包中的services文件夹中。其中,部署文件包media-service中包括有data子文件夹、docker子文件夹、services子文件夹、base-images.tar文件和start.sh文件。
docker子文件夹用于存放Docker及Docker Compose的安装文件,使用离线安装的方式,可以适用于非公网环境的部署主机(需要挂载yum或apt-get源),该文件夹中包含了三个文件docker-ce-selinux*.rpm、docker-ce*.rpm、docker-compose-Linux*。在后面提到的shell脚本中,将使用这三个文件,在一台空Linux主机中将Docker和Docker Compose工具安装完毕。
然后在每个服务中创建Dockerfile文件,并编写Dockerfile脚本,以描述当前服务所需的部署环境。该步骤至少可通过如下程序语言实现:
FROM mysql:5.7
#定义工作目录
ENV WORK_PATH/usr/local/work
#定义会被容器自动执行的目录
ENV AUTO_RUN_DIR/docker-entrypoint-initdb.d
#定义sql文件名
ENV FILE_0GWBO_createDatabase.sql
ENV FILE_1GWBO_createFunction.sql
ENV FILE_2GWBO_insertData.sql
ENV FILE_3GWBO_updateNavBlock.sql
#定义shell文件名
ENV INSTALL_DATA_SHELL install_data.sh
#创建文件夹
RUN mkdir-p$WORK_PATH
#将配置文件拷入mysql目录中
COPY my.cnf/etc/mysql/conf.d/my.cnf
#把数据库初始化数据的文件复制到工作目录下
COPY./$FILE_0$WORK_PATH/
COPY./$FILE_1$WORK_PATH/
COPY./$FILE_2$WORK_PATH/
COPY./$FILE_3$WORK_PATH/
#把要执行的shell文件放到/docker-entrypoint-initdb.d/目录下,容器会自动执行这个shell
COPY./$INSTALL_DATA_SHELL$AUTO_RUN_DIR/
#设置时区&&给执行文件增加可执行权限
RUN/bin/cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime\
&&echo'Asia/Shanghai'>/etc/timezone\
&&chmod 777$WORK_PATH/\
&&chmod 777$AUTO_RUN_DIR/$INSTALL_DATA_SHELL\
&&chmod 644/etc/mysql/conf.d/my.cnf
然后,在部署文件包的services文件夹下创建docker-compose.yml文件,并编写docker compose脚本,描述当前系统各个服务的部署环境,在这里,services子文件夹用于存放系统的各个服务、组件的部署包和依赖项,该文件夹下按服务或组建划分了若干子文件夹,同时还存放了docker-compose.yml文件,用于描述当前系统中各个服务的组成和关系,并指定每个业务镜像的构建文件夹,执行docker-compose.yml导入的基础镜像,将业务镜像构建完成,并启动系统的全部服务。该过程至少可通过以下程序语言实现:
接着在部署包中创建start.sh文件,并编写Shell脚本,用于串联整个系统部署过程的各个环节。该过程至少可通过如下程序语言实现:
然后将映射卷所需资源复制到部署包的data文件夹中,并将Docker和DockerCompose安装包复制到部署包的docker文件夹下。之后可将整个部署文件包分发至各个运维环境的部署人员处,由部署人员在指定环境中进行部署。
在部署运维环境时,部署人员在主机中安装Linux系统,并拿到该主机对外提供服务的IP地址,然后部署人员将拿到的部署包整体复制到部署机中,并进入部署文件包所在文件夹,对start.sh文件赋予可执行权限,并执行该脚本,即可等待服务自动启动完毕。由此,5、每个系统只需编写一次部署环境的描述信息,即可在各个环境中进行部署,具备老系统适配简便,部署便捷,操作人员能力要求低的特点。并且使用容器技术封装应用和服务,任何可以在Linux中部署的应用,均可使用此方法简化部署,在不同服务器环境中部署时,仅通过在运行脚本时传入简单的配置参数,即可实现不同环境的适配,同时,使用环境变量映射对服务内部的配置进行覆盖,在服务部署完成后,无需后续配置工作,开箱即用。
如图2所示,本发明实施例提供了一种服务部署装置,包括:构建单元201、提取单元202和部署单元203;其中,
所述构建单元201,用于构建部署文件包;其中,所述部署文件包中包括:至少一个待安装容器对应的容器安装文件,以及至少一个待部署服务对应的服务部署文件;
所述提取单元202,用于接收部署指令,并根据所述部署指令,从所述部署文件包中提取至少一个待安装容器对应的所述容器安装文件,以及至少一个待部署服务对应的所述服务部署文件;
所述部署单元203,用于利用提取的所述容器安装文件,安装至少一个目标容器,并利用所述服务部署文件,在安装的所述容器中部署至少一个目标服务。
本发明一个实施例中,所述部署文件包包括:数据子文件夹;其中,所述数据子文件夹包括:所述至少一个待安装容器对应的安装环境参数;
所述部署单元203,用于根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
本发明一个实施例中,所述部署文件包包括:启动脚本;
所述部署单元203,用于根据所述部署指令,从所述部署文件包中查找所述启动脚本,并运行查找到的所述启动脚本;利用运行的所述启动脚本,获取部署环境对应的部署环境参数;将所述部署环境参数存储至所述数据子文件夹,利用所述部署环境参数对所述安装环境参数进行更新;根据更新后的所述安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
本发明一个实施例中,所述部署文件包包括:基础镜像子文件夹;其中,所述基础镜像子文件夹包括:至少一个所述待安装容器对应的基础镜像;
所述部署单元203,用于从所述至少一个待安装容器对应的基础镜像中,确定与所述目标容器对应的目标基础镜像,并根据确定出的所述目标基础镜像,构建所述目标容器。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明上述任一实施例提供的方法。
本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明上述任一实施例提供的方法。
综上所述,本发明以上各个实施例至少具有如下有益效果:
1、在本发明实施例中,通过构建包括容器安装文件和服务部署文件的部署文件包,当接收到部署指令时,从部署文件包中提取容器安装文件和服务部署文件,并利用提取的容器安装文件,自动安装目标容器,并利用提取的服务部署文件,自动在目标容器中部署目标服务。由此,工作人员仅需将部署文件包安装到部署主机,即可自动完成服务系统的部署,而无需逐个安装组件并调试其运行参数,从而降低了部署运维环境的工作量。
2、在本发明实施例中,根据数据子文件夹中存放的安装环境参数,结合容器安装文件安装目标容器,以将容器在之前环境中的数据作为本次安装容器的一种依据,有利于快速准确的安装容器,从而提高运维环境的部署效率。
3、在本发明实施例中,利用部署文件包的启动脚本获取部署环境对应的部署环境参数,并利用部署环境参数更新安装环境参数,然后根据更新后的安装环境参数安装容器,有利于进一步提高运维环境的部署效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种服务部署方法,其特征在于,包括:
构建部署文件包;其中,所述部署文件包中包括:至少一个待安装容器对应的容器安装文件,以及至少一个待部署服务对应的服务部署文件;
还包括:
接收部署指令;
根据所述部署指令,从所述部署文件包中提取至少一个待安装容器对应的所述容器安装文件,以及至少一个待部署服务对应的所述服务部署文件;
利用提取的所述容器安装文件,安装至少一个目标容器;
利用所述服务部署文件,在安装的所述容器中部署至少一个目标服务。
2.根据权利要求1所述的方法,其特征在于,
所述部署文件包包括:数据子文件夹;其中,所述数据子文件夹包括:所述至少一个待安装容器对应的安装环境参数;
所述利用提取的所述容器安装文件,安装至少一个目标容器,包括:
根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
3.根据权利要求2所述的方法,其特征在于,
所述部署文件包包括:启动脚本;
所述根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器,包括:
根据所述部署指令,从所述部署文件包中查找所述启动脚本,并运行查找到的所述启动脚本;
利用运行的所述启动脚本,获取部署环境对应的部署环境参数;
将所述部署环境参数存储至所述数据子文件夹,利用所述部署环境参数对所述安装环境参数进行更新;
根据更新后的所述安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
4.根据权利要求1所述的方法,其特征在于,
所述部署文件包包括:基础镜像子文件夹;其中,所述基础镜像子文件夹包括:至少一个所述待安装容器对应的基础镜像;
所述利用提取的所述容器安装文件,安装至少一个目标容器,包括:
从所述至少一个待安装容器对应的基础镜像中,确定与所述目标容器对应的目标基础镜像;
根据确定出的所述目标基础镜像,构建所述目标容器。
5.一种服务部署装置,其特征在于,包括:构建单元、提取单元和部署单元;其中,
所述构建单元,用于构建部署文件包;其中,所述部署文件包中包括:至少一个待安装容器对应的容器安装文件,以及至少一个待部署服务对应的服务部署文件;
所述提取单元,用于接收部署指令,并根据所述部署指令,从所述部署文件包中提取至少一个待安装容器对应的所述容器安装文件,以及至少一个待部署服务对应的所述服务部署文件;
所述部署单元,用于利用提取的所述容器安装文件,安装至少一个目标容器,并利用所述服务部署文件,在安装的所述容器中部署至少一个目标服务。
6.根据权利要求5所述的装置,其特征在于,
所述部署文件包包括:数据子文件夹;其中,所述数据子文件夹包括:所述至少一个待安装容器对应的安装环境参数;
所述部署单元,用于根据所述数据子文件夹中的安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
7.根据权利要求6所述的装置,其特征在于,
所述部署文件包包括:启动脚本;
所述部署单元,用于根据所述部署指令,从所述部署文件包中查找所述启动脚本,并运行查找到的所述启动脚本;利用运行的所述启动脚本,获取部署环境对应的部署环境参数;将所述部署环境参数存储至所述数据子文件夹,利用所述部署环境参数对所述安装环境参数进行更新;根据更新后的所述安装环境参数以及所述容器安装文件,安装所述至少一个目标容器。
8.根据权利要求5所述的装置,其特征在于,
所述部署文件包包括:基础镜像子文件夹;其中,所述基础镜像子文件夹包括:至少一个所述待安装容器对应的基础镜像;
所述部署单元,用于从所述至少一个待安装容器对应的基础镜像中,确定与所述目标容器对应的目标基础镜像,并根据确定出的所述目标基础镜像,构建所述目标容器。
9.一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行权利要求1至4中任一所述的方法。
10.一种存储控制器,包括:处理器、存储器和总线;所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行权利要求1至4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711205451.9A CN107885551A (zh) | 2017-11-27 | 2017-11-27 | 一种服务部署方法、装置、可读介质及存储控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711205451.9A CN107885551A (zh) | 2017-11-27 | 2017-11-27 | 一种服务部署方法、装置、可读介质及存储控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107885551A true CN107885551A (zh) | 2018-04-06 |
Family
ID=61775235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711205451.9A Pending CN107885551A (zh) | 2017-11-27 | 2017-11-27 | 一种服务部署方法、装置、可读介质及存储控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107885551A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845862A (zh) * | 2018-05-25 | 2018-11-20 | 浪潮软件集团有限公司 | 一种多容器管理方法和装置 |
CN109343936A (zh) * | 2018-09-28 | 2019-02-15 | 北京中电普华信息技术有限公司 | 一种微服务自动部署方法及装置 |
CN109491763A (zh) * | 2018-11-14 | 2019-03-19 | 北京奇艺世纪科技有限公司 | 一种系统部署方法、装置及电子设备 |
CN110580216A (zh) * | 2018-06-08 | 2019-12-17 | 北京京东尚科信息技术有限公司 | 一种应用提测的方法和装置 |
CN110688137A (zh) * | 2019-09-27 | 2020-01-14 | 支付宝(杭州)信息技术有限公司 | 应用交付方法和装置、存储介质 |
CN111026411A (zh) * | 2019-11-22 | 2020-04-17 | 武汉达梦数据技术有限公司 | 一种软件远程部署管理方法及管理机 |
CN111352664A (zh) * | 2018-12-05 | 2020-06-30 | 北京京东尚科信息技术有限公司 | 分布式机器学习任务启动方法、系统、设备及存储介质 |
CN111581176A (zh) * | 2020-05-07 | 2020-08-25 | 上海茂声智能科技有限公司 | 一种用于控制系统的离线部署方法、装置、系统和存储介质 |
CN112230946A (zh) * | 2020-11-18 | 2021-01-15 | 浪潮云信息技术股份公司 | 一种基于容器的应用系统部署方法及相关装置 |
CN112579260A (zh) * | 2020-12-21 | 2021-03-30 | 常州微亿智造科技有限公司 | 工业物联网数据中心传Worker服务自动扩缩容方法及装置 |
CN112764753A (zh) * | 2020-12-31 | 2021-05-07 | 北京知因智慧科技有限公司 | 一种项目的部署方法、装置、电子设备及存储介质 |
CN113434157A (zh) * | 2021-06-30 | 2021-09-24 | 青岛海尔科技有限公司 | 基于shell脚本的前端工程部署方法及装置 |
CN113703825A (zh) * | 2020-05-21 | 2021-11-26 | 顺丰科技有限公司 | 一种镜像构建方法、装置、服务器及存储介质 |
CN116186645A (zh) * | 2022-12-27 | 2023-05-30 | 上海柯林布瑞信息技术有限公司 | 一种基于容器化的产品授权部署方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204898A (zh) * | 2015-09-16 | 2015-12-30 | 浪潮通用软件有限公司 | 一种应用部署系统及方法、控制服务器 |
CN105468362A (zh) * | 2015-11-17 | 2016-04-06 | 广州杰赛科技股份有限公司 | 应用部署方法和云计算系统 |
CN105871988A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 服务部署方法及装置 |
US20170085419A1 (en) * | 2015-09-18 | 2017-03-23 | Le Holdings (Beijing) Co., Ltd. | System and method for deploying an application |
CN106802807A (zh) * | 2017-02-20 | 2017-06-06 | 深圳市冬泉谷信息技术有限公司 | 基于容器平台的应用交付方法、容器平台及应用交付系统 |
-
2017
- 2017-11-27 CN CN201711205451.9A patent/CN107885551A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105204898A (zh) * | 2015-09-16 | 2015-12-30 | 浪潮通用软件有限公司 | 一种应用部署系统及方法、控制服务器 |
US20170085419A1 (en) * | 2015-09-18 | 2017-03-23 | Le Holdings (Beijing) Co., Ltd. | System and method for deploying an application |
CN105468362A (zh) * | 2015-11-17 | 2016-04-06 | 广州杰赛科技股份有限公司 | 应用部署方法和云计算系统 |
CN105871988A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 服务部署方法及装置 |
CN106802807A (zh) * | 2017-02-20 | 2017-06-06 | 深圳市冬泉谷信息技术有限公司 | 基于容器平台的应用交付方法、容器平台及应用交付系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845862A (zh) * | 2018-05-25 | 2018-11-20 | 浪潮软件集团有限公司 | 一种多容器管理方法和装置 |
CN110580216A (zh) * | 2018-06-08 | 2019-12-17 | 北京京东尚科信息技术有限公司 | 一种应用提测的方法和装置 |
CN110580216B (zh) * | 2018-06-08 | 2024-04-05 | 北京京东尚科信息技术有限公司 | 一种应用提测的方法和装置 |
CN109343936A (zh) * | 2018-09-28 | 2019-02-15 | 北京中电普华信息技术有限公司 | 一种微服务自动部署方法及装置 |
CN109491763A (zh) * | 2018-11-14 | 2019-03-19 | 北京奇艺世纪科技有限公司 | 一种系统部署方法、装置及电子设备 |
CN111352664A (zh) * | 2018-12-05 | 2020-06-30 | 北京京东尚科信息技术有限公司 | 分布式机器学习任务启动方法、系统、设备及存储介质 |
CN111352664B (zh) * | 2018-12-05 | 2023-11-03 | 北京京东尚科信息技术有限公司 | 分布式机器学习任务启动方法、系统、设备及存储介质 |
CN110688137A (zh) * | 2019-09-27 | 2020-01-14 | 支付宝(杭州)信息技术有限公司 | 应用交付方法和装置、存储介质 |
CN111026411A (zh) * | 2019-11-22 | 2020-04-17 | 武汉达梦数据技术有限公司 | 一种软件远程部署管理方法及管理机 |
CN111026411B (zh) * | 2019-11-22 | 2023-09-08 | 武汉达梦数据技术有限公司 | 一种软件远程部署管理方法及管理机 |
CN111581176A (zh) * | 2020-05-07 | 2020-08-25 | 上海茂声智能科技有限公司 | 一种用于控制系统的离线部署方法、装置、系统和存储介质 |
CN111581176B (zh) * | 2020-05-07 | 2023-11-07 | 上海茂声智能科技有限公司 | 一种用于控制系统的离线部署方法、装置、系统和存储介质 |
CN113703825A (zh) * | 2020-05-21 | 2021-11-26 | 顺丰科技有限公司 | 一种镜像构建方法、装置、服务器及存储介质 |
CN112230946A (zh) * | 2020-11-18 | 2021-01-15 | 浪潮云信息技术股份公司 | 一种基于容器的应用系统部署方法及相关装置 |
CN112579260A (zh) * | 2020-12-21 | 2021-03-30 | 常州微亿智造科技有限公司 | 工业物联网数据中心传Worker服务自动扩缩容方法及装置 |
CN112764753A (zh) * | 2020-12-31 | 2021-05-07 | 北京知因智慧科技有限公司 | 一种项目的部署方法、装置、电子设备及存储介质 |
CN113434157A (zh) * | 2021-06-30 | 2021-09-24 | 青岛海尔科技有限公司 | 基于shell脚本的前端工程部署方法及装置 |
CN116186645A (zh) * | 2022-12-27 | 2023-05-30 | 上海柯林布瑞信息技术有限公司 | 一种基于容器化的产品授权部署方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107885551A (zh) | 一种服务部署方法、装置、可读介质及存储控制器 | |
US9367305B1 (en) | Automatic container definition | |
US9342273B1 (en) | Automatic communications graphing for a source application | |
US9274811B1 (en) | System and method for cloud provisioning and application deployment | |
US11016785B2 (en) | Method and system for mirror image package preparation and application operation | |
CN110088733A (zh) | 虚拟机迁移的基于存储层的编排 | |
US10305731B2 (en) | System and method for provisioning cloud services across heterogeneous environments using partitioned provisioning instructions stored on a configuration management server | |
US9442708B1 (en) | System and method for installing, updating and uninstalling applications | |
CN108897547B (zh) | 一种软件自动化部署方法及装置 | |
CN111930465A (zh) | 一种基于Kubernetes的达梦主从集群部署方法和装置 | |
US20100312879A1 (en) | Plug-in provisioning integration in a clustered environment | |
CN104484172A (zh) | 一种文件打包的方法及装置 | |
CN115480801A (zh) | 一种基于Vue框架的多项目开发部署运行方法和系统 | |
CN114546819A (zh) | 代码处理方法、装置、电子设备及可读介质 | |
CN117931214A (zh) | 离线环境下的应用部署方法及装置、电子设备和存储介质 | |
CN113434194A (zh) | 持续集成与交付系统、方法、电子设备及存储介质 | |
US10277615B2 (en) | Maintenance of distributed computing systems | |
US10552148B2 (en) | Building dynamic documentation based on installed services | |
CN116069354A (zh) | 应用程序的升级方法、装置、设备及存储介质 | |
CN105094837A (zh) | 引导计算机启动的方法、装置及启动引导介质的制作方法 | |
US10509647B1 (en) | Building dynamic documentation based on installed services | |
CN117648198B (zh) | 应用适配方法及装置、设备及存储介质 | |
CN111722866B (zh) | 一种OpenStack代码修复方法、装置、设备及存储介质 | |
CN115061741B (zh) | 一种目标插件运行方法、装置、电子设备及存储介质 | |
US12086579B2 (en) | Deriving a container from a package set |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180406 |