CN112947948B - 应用服务的部署方法及装置 - Google Patents

应用服务的部署方法及装置 Download PDF

Info

Publication number
CN112947948B
CN112947948B CN202010054562.XA CN202010054562A CN112947948B CN 112947948 B CN112947948 B CN 112947948B CN 202010054562 A CN202010054562 A CN 202010054562A CN 112947948 B CN112947948 B CN 112947948B
Authority
CN
China
Prior art keywords
service
preset
code
environment
application
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
Application number
CN202010054562.XA
Other languages
English (en)
Other versions
CN112947948A (zh
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.)
Shenzhen Mingyuan Cloud Technology Co Ltd
Original Assignee
Shenzhen Mingyuan Cloud Technology Co 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 Shenzhen Mingyuan Cloud Technology Co Ltd filed Critical Shenzhen Mingyuan Cloud Technology Co Ltd
Priority to CN202010054562.XA priority Critical patent/CN112947948B/zh
Publication of CN112947948A publication Critical patent/CN112947948A/zh
Application granted granted Critical
Publication of CN112947948B publication Critical patent/CN112947948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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是本申请一实施例提供的应用服务的部署方法的流程示意图;
图3是本申请另一实施例提供的应用服务的部署方法的流程示意图;
图4是本申请另一实施例提供的应用服务的部署方法的流程示意图;
图5是本申请另一实施例提供的应用服务的部署方法的流程示意图;
图6是本申请实施例提供的应用服务的部署装置的结构示意图;
图7是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
如背景技术相关介绍,部署应用服务的过程中涉及的工作项较多,而目前的部署过程一般由多个用户手动完成,这样用户间存在沟通难度,且部署效率非常低以及很容易出错。如以下场景:
场景一:在测试环境下构建和部署应用服务,由于触发构建应用服务的用户与触发部署应用服务的用户不是同一个用户,这样容易出现构建应用服务的代码更新后,代码未重新执行的情况,从而无法及时完成应用服务的部署,使得部署效率非常低。
场景二:在预发布环境下构建和部署应用服务,先确认预发布的应用服务特性,再对每个特性涉及的代码仓库进行手工合并代码到预发布分支,而每次预发布涉及到分支较多,这样代码合并工作量非常大,且手工合并容易出错。
因此,本申请实施例提供一种应用服务的部署方法,通过自动构建应用服务的服务代码,并自动将应用服务部署到预设环境中,实现一键触发应用服务的构建和部署,从而避免构建应用服务的代码更新后,代码未重新执行的情况,降低出错概率以及提升了应用服务的部署效率。
图1示出了本申请实施例提供的系统示意图,该系统包括代码管理工具101、构建工具102和部署工具103,三者之间可进行通信连接。其中代码管理工具101用于管理产品对应的代码仓库中的代码版本和代码特性等,其可以是GitLab;构建工具102用于构建应用服务的代码镜像等,其可以是Jenkins;部署工具103用于根据构建工具构建的代码镜像,将应用服务部署到所要部署的环境中,其可以是docker。
本申请实施例提供的一种应用服务的部署方法可应用于终端设备,该终端设备安装有上述代码管理工具、构建工具和部署工具;该终端设备可以包括手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、服务器等,本申请实施例对终端设备的具体类型不作任何限制。
图2示出了本申请提供的应用服务的部署方法的示意性流程图,作为示例而非限定,该方法可以应用于上述终端设备中。
S201,获取预设的服务构建模板,所述服务构建模板包括服务构建流程和服务列表;
在上述S201中,服务构建模板为构建和部署应用服务的构建步骤和部署步骤的组合,其包括构建应用服务、部署应用服务、自动化测试、重启服务等步骤。服务列表为重启服务步骤中的服务列表,也是待构建和部署的应用服务的列表。
可选地,在触发构建和部署应用服务之前,在系统中添加预设代码库的仓库信息,如仓库地址、构建步骤模板、环境部署编码、代码库对应的服务(支持1对n,即一套代码可对应多个应用服务)、代码库是否为SQL仓库等信息。当触发构建和部署应用服务时,根据仓库信息中的仓库地址,链接预设代码库,以获取服务构建模板等信息。
S202,根据所述服务构建流程,构建所述服务列表中的应用服务的代码镜像;
在上述S202中,服务构建流程为构建应用服务的构建步骤,其包括拉取代码(clone)、代码质量扫描(sonar)和构建镜像(build)等步骤。可选地,可通过docker commit或dockerfile的方式构建代码镜像。
具体地,docker commit的方式构建代码镜像,包括:当已有镜像和容器时,交互式运行centos容器,在centos容器中安装vim工具,获取安装vim后的centos镜像,定义centos镜像与原始镜像之间的关系,从而得到代码镜像。
具体地,dockerfile构建代码镜像,包括:创建镜像目录,编写构建代码对应的dockerfile文件,根据dockerfile基于build指令构建代码镜像。
本实施例构建应用服务的代码镜像,从而可以复制开发完成后的产品的开发代码,以便于后续在不影响开发代码的情况下将开发代码部署需要部署的环境中,提高开发代码的安全性。
S203,将代码镜像的版本数据写入预设环境的环境表;
在上述S203中,版本数据为与代码镜像的版本相关的数据,如业务数据、版本号等。预设环境为需要部署应用服务的环境,如测试环境、预发布环境等。环境表为预设环境的配置参数表,其属于一个字符指针数组,每个指针包含一个以null结束的C字符串的地址,全局变量environ包含了该指针数组的地址。
本实施例将代码镜像的版本数据写入预设环境的环境表,从而将包含业务数据等的应用服务部署到预设环境中,使得预设环境能够运行应用服务的业务数据和业务逻辑等。
S204,若所述版本数据成功写入所述环境表,则根据所述代码镜像,重启所述服务列表中的应用服务,以完成所述应用服务的部署。
在上述S204中,当代码镜像的版本升级记录、业务数据等与版本相关的版本数据写入到环境表后,判定版本数据成功写入环境表,此时说明应用服务已部署到预设环境中,所以为了能够顺利运行应用服务,则重启应用服务。
在图2所示实施例的基础上,图3示出了本申请提供的另一种应用服务的部署方法的流程示意图。如图3所示,上述步骤S201包括S301至S302。需要说明的是,与图2所示实施例相同的步骤,此处不再赘述。
S301,监听到服务构建指令,所述服务构建指令携带所述应用服务所要部署到的预设环境的环境类型;
在上述S301中,服务构建指令为用户通过终端设备发起的指令,环境类型可包括测试环境类型、预发布环境类型等。可选地,配置需要构建的应用服务对应预设代码库,以及需要选中需要构建和部署到的预设环境的环境类型,并发起服务构建指令。
S302,响应于监听到的所述服务构建指令,获取所述环境类型对应的服务构建模板。
在上述S302中,每种环境类型有对应的服务构建模板、环境部署编码等,这样以针对每种环境类型部署应用服务。
在图2或图3所示实施例的基础上,图4示出了本申请提供的另一种应用服务的部署方法的流程示意图。如图4所示,上述步骤S202包括S401至S403。需要说明的是,与图2或图3所示实施例相同的步骤,此处不再赘述。
S401,按照所述服务构建流程,获取若干个预设代码库中的预设代码;
在上述S401中,预设代码库为存放已开发完成的产品的开发代码的数据库,其可包括每个产品特性分别对应开发代码的代码库。服务构建流程包括需要部署到预设环境的产品特性对应的应用服务,则获取对应预设代码库的预设代码。
S402,对每个预设代码库中的预设代码进行合并;
在上述S402中,可通过Git Merge或Git Rebase的方式对预设代码进行代码合并。其中,Git Merge将预设代码的提交历史合并到一起,对比不同分支间的不同文件并缓存下来,然后push,其不会修改预设代码库分支,安全性较高;Git Rebase修改预设代码的提交历史,比对不同分支间的不同文件并缓存下来,然后push,其可以使项目历史非常整洁。
S403,根据合并后的所述预设代码,构建所述服务列表中的应用服务的所述代码镜像。
在上述S403中,可根据Jenkins的高并发机制,对每个应用服务的构建任务调取一个POD来执行流水线步骤,具体地,POD会自动拉取预设仓库中的代码、扫描代码、构建镜像。根据自动合并后的预设代码,构建代码镜像,从而使得可以同时将多个应用服务部署到预设环境中,这样无需用户操作,降低出错概率和提高部署效率。
在图4所示实施例的基础上本申请提供的另一种应用服务的部署方法的实施例。上述步骤S403包括S4031至S4032。需要说明的是,与图4所示实施例相同的步骤,此处不再赘述。
S4031,检测合并后的所述预设代码的安全性;
在上述S4031中,可通过SonarQube扫描预设代码,检查预设代码的代码缺陷,可以从复杂度分布(complexity)、重复代码(duplications)、单元测试统计(unit tests)、代码规则检查(coding rules)、注释率(comments)、潜在BUG(potential BUGs)和结构与设计(architecture&design)等维度检测预设代码的安全性。
S4032,若所述预设代码的安全性符合预设安全性要求,则构建所述合并后的预设代码对应的所述代码镜像。
在上述S4032中,若预设代码符合上述维度的检查结果时,构建代码镜像。通过对预设代码进行安全性检测,以提高代码的安全性和减少代码缺陷,从而避免在部署到预设环境时才发现代码缺陷而又重新部署的繁琐操作。
在图4所示实施例的基础上,本申请提供的另一种应用服务的部署方法的实施例。上述步骤S204之前还包括S2041。需要说明的是,与图4所示实施例相同的步骤,此处不再赘述。
S2041,若所述预设代码库为SQL仓库,则调用SQL执行器执行所述预设代码库中的SQL文件。
在上述S2041中,SQL仓库为一类数据库,预设代码库为SQL仓库,说明在更新预设代码时更新了SQL仓库,这样在SQL仓库升级是的执行代码在开发的过程中,以SQL文件的形式记录下来或保存到预设格式的文件中,以供软件升级时使用,所以在部署应用服务时,需要调用SQL执行器执行SQL文件以对应用服务进行升级操作。
在图2至图4所示任一实施例的基础上,图5示出了本申请提供的另一种应用服务的部署方法的流程示意图。如图5所示,上述步骤S203之前还包括S501至S502。需要说明的是,与图2至图4所示任一实施例相同的步骤,此处不再赘述。
S501,获取所述预设环境的环境编码;
在上述S501中,环境编码为构建预设环境的配置信息,其可包括测试环境编码和预发布环境编码,编码可包含构建测试环境或预发布环境的主机、数据库、中间件等组合的配置信息。
S502,根据所述环境编码构建所述预设环境。
在上述S502中,根据环境编码中的硬件配置信息,构建预设环境。实现应用服务、预设环境的一键式构建和部署,而无需先手动部署预设环境,再应用服务到预设环境,简化部署过程和提高部署效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的应用服务的部署方法,图6示出了本申请实施例提供的应用服务的部署装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该装置包括:
获取模块601,用于获取预设的服务构建模板,所述服务构建模板包括服务构建流程和服务列表;
构建模块602,用于根据所述服务构建流程,构建所述服务列表中的应用服务的代码镜像;
写入模块603,用于将代码镜像的版本数据写入预设环境的环境表;
重启模块604,用于若所述版本数据成功写入所述环境表,则根据所述代码镜像,重启所述服务列表中的应用服务,以完成所述应用服务的部署。
可选地,构建模块具体包括:
获取单元,用于按照所述服务构建流程,获取若干个预设代码库中的预设代码;
合并单元,用于对每个预设代码库中的预设代码进行合并;
构建单元,用于根据合并后的所述预设代码,构建所述服务列表中的应用服务的所述代码镜像。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图7为本申请一实施例提供的终端设备的结构示意图。如图7所示,该实施例的终端设备7包括:至少一个处理器70(图7中仅示出一个)处理器、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个应用服务的部署方法实施例中的步骤。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的举例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71在一些实施例中可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种应用服务的部署方法,其特征在于,包括:
获取预设的服务构建模板,所述服务构建模板包括服务构建流程和服务列表;
根据所述服务构建流程,自动构建所述服务列表中的应用服务的代码镜像;
在代码镜像构建完成后,自动将代码镜像的版本数据写入预设环境的环境表,所述版本数据包括代码镜像的业务数据、版本号,所述环境表为所述预设环境的配置参数表;
若所述版本数据成功写入所述环境表则应用服务已部署到预设环境中,根据所述代码镜像,重启所述服务列表中的应用服务,以完成所述应用服务的部署。
2.如权利要求1所述的应用服务的部署方法,其特征在于,所述获取预设的服务构建模板,包括:
监听服务构建指令,所述服务构建指令携带所述应用服务所要部署到的预设环境的环境类型;
响应于监听到的所述服务构建指令,获取所述环境类型对应的服务构建模板。
3.如权利要求1或2所述的应用服务的部署方法,其特征在于,所述根据所述服务构建流程,构建所述服务列表中的应用服务的代码镜像,包括:
按照所述服务构建流程,获取若干个预设代码库中的预设代码;
对每个预设代码库中的预设代码进行合并;
根据合并后的所述预设代码,构建所述服务列表中的应用服务的所述代码镜像。
4.如权利要求3所述的应用服务的部署方法,其特征在于,所述根据合并后的所述预设代码,构建对应的所述代码镜像,包括:
检测合并后的所述预设代码的安全性;
若所述预设代码的安全性符合预设安全性要求,则构建所述合并后的预设代码对应的所述代码镜像。
5.如权利要求3所述的应用服务的部署方法,其特征在于,根据所述代码镜像,重启所述服务列表中的应用服务之前,还包括:
若所述预设代码库为SQL仓库,则调用SQL执行器执行所述预设代码库中的SQL文件。
6.如权利要求1所述的应用服务的部署方法,其特征在于,所述将代码镜像的版本数据写入预设环境的环境表之前,还包括:
获取所述预设环境的环境编码;
根据所述环境编码构建所述预设环境。
7.一种应用服务的部署装置,其特征在于,包括:
获取模块,用于获取预设的服务构建模板,所述服务构建模板包括服务构建流程和服务列表;
构建模块,用于根据所述服务构建流程,自动构建所述服务列表中的应用服务的代码镜像;
写入模块,用于在代码镜像构建完成后,自动将代码镜像的版本数据写入预设环境的环境表,所述版本数据包括代码镜像的业务数据、版本号,所述环境表为所述预设环境的配置参数表;
重启模块,用于若所述版本数据成功写入所述环境表则应用服务已部署到预设环境中,根据所述代码镜像,重启所述服务列表中的应用服务,以完成所述应用服务的部署。
8.如权利要求7所述的应用服务的部署装置,其特征在于,所述构建模块具体包括:
获取单元,用于按照所述服务构建流程,获取若干个预设代码库中的预设代码;
合并单元,用于对每个预设代码库中的预设代码进行合并;
构建单元,用于根据合并后的所述预设代码,构建所述服务列表中的应用服务的所述代码镜像。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
CN202010054562.XA 2020-01-17 2020-01-17 应用服务的部署方法及装置 Active CN112947948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010054562.XA CN112947948B (zh) 2020-01-17 2020-01-17 应用服务的部署方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010054562.XA CN112947948B (zh) 2020-01-17 2020-01-17 应用服务的部署方法及装置

Publications (2)

Publication Number Publication Date
CN112947948A CN112947948A (zh) 2021-06-11
CN112947948B true CN112947948B (zh) 2024-03-12

Family

ID=76234431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010054562.XA Active CN112947948B (zh) 2020-01-17 2020-01-17 应用服务的部署方法及装置

Country Status (1)

Country Link
CN (1) CN112947948B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595103B1 (en) * 2008-09-30 2013-11-26 Accenture Global Services Limited Deployment and release component system
CN105912375A (zh) * 2016-05-31 2016-08-31 乐视控股(北京)有限公司 将应用程序部署至服务器的方法及装置
CN108021608A (zh) * 2017-10-31 2018-05-11 赛尔网络有限公司 一种基于Docker的轻量级网站部署方法
CN108563451A (zh) * 2018-02-26 2018-09-21 挖财网络技术有限公司 一种Docker容器的构建和发布的方法、装置及系统
CN109271198A (zh) * 2018-08-16 2019-01-25 中国平安人寿保险股份有限公司 基于Docker容器的镜像打包方法、装置及电子设备
CN109309693A (zh) * 2017-07-26 2019-02-05 财付通支付科技有限公司 基于docker的多服务系统、部署方法及装置、设备及存储介质
CN109358857A (zh) * 2018-08-22 2019-02-19 华为技术有限公司 镜像构建、镜像存储、镜像分发方法及装置
CN110096304A (zh) * 2019-03-16 2019-08-06 平安城市建设科技(深圳)有限公司 基于Jenkins的任务构建方法、装置、设备及存储介质
CN110321152A (zh) * 2019-07-04 2019-10-11 青岛华正信息技术股份有限公司 一种软件开发平台

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342299B2 (en) * 2014-02-25 2016-05-17 Red Hat, Inc. Deployment optimization for activation of scaled applications in a multi-tenant platform-as-a-service (PaaS) system
US20150378701A1 (en) * 2014-06-26 2015-12-31 Microsoft Corporation Cross-environment orchestration of deployment activities
US9921952B2 (en) * 2015-06-02 2018-03-20 International Business Machines Corporation Early risk identification in DevOps environments

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595103B1 (en) * 2008-09-30 2013-11-26 Accenture Global Services Limited Deployment and release component system
CN105912375A (zh) * 2016-05-31 2016-08-31 乐视控股(北京)有限公司 将应用程序部署至服务器的方法及装置
CN109309693A (zh) * 2017-07-26 2019-02-05 财付通支付科技有限公司 基于docker的多服务系统、部署方法及装置、设备及存储介质
CN108021608A (zh) * 2017-10-31 2018-05-11 赛尔网络有限公司 一种基于Docker的轻量级网站部署方法
CN108563451A (zh) * 2018-02-26 2018-09-21 挖财网络技术有限公司 一种Docker容器的构建和发布的方法、装置及系统
CN109271198A (zh) * 2018-08-16 2019-01-25 中国平安人寿保险股份有限公司 基于Docker容器的镜像打包方法、装置及电子设备
CN109358857A (zh) * 2018-08-22 2019-02-19 华为技术有限公司 镜像构建、镜像存储、镜像分发方法及装置
CN110096304A (zh) * 2019-03-16 2019-08-06 平安城市建设科技(深圳)有限公司 基于Jenkins的任务构建方法、装置、设备及存储介质
CN110321152A (zh) * 2019-07-04 2019-10-11 青岛华正信息技术股份有限公司 一种软件开发平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Review of Source Code Management Tools for Continuous Software Development;Serhat Uzunbayir等;《2018 3rd International Conference on Computer Science and Engineering (UBMK)》;20181209;第414-419页 *
云计算实验平台虚拟机镜像的管理与维护;金永霞等;《实验技术与管理》;20171117;第102-105页 *

Also Published As

Publication number Publication date
CN112947948A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN107729041B (zh) 应用程序热更新方法、装置、终端和存储介质
US10592677B2 (en) Systems and methods for patching vulnerabilities
US8140907B2 (en) Accelerated virtual environments deployment troubleshooting based on two level file system signature
US8140905B2 (en) Incremental problem determination and resolution in cloud environments
EP2646913B1 (en) Repairing corrupt software
US8930761B2 (en) Test case result processing
CN109783345B (zh) 一种小程序性能测试方法和系统
CN111475390A (zh) 日志采集系统部署方法、装置、设备及存储介质
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN112068874B (zh) 软件项目持续集成方法、装置、终端设备和存储介质
CN110688111A (zh) 业务流程的配置方法、装置、服务器和存储介质
CN110659210A (zh) 一种信息获取方法、装置、电子设备及存储介质
CN112947948B (zh) 应用服务的部署方法及装置
WO2023151397A1 (zh) 应用程序部署方法、装置、设备及介质
CN116599881A (zh) 云平台租户建模测试的方法、装置、设备及存储介质
US9396239B2 (en) Compiling method, storage medium and compiling apparatus
CN112527371B (zh) 一种引导加载程序升级方法、装置、电子设备及存储介质
CN110221952B (zh) 业务数据的处理方法及装置、业务数据处理系统
CN114327588A (zh) 一种代码提交日志的处理方法及装置
CN112632546A (zh) 广电行业自动化代码分析方法
CN113760631A (zh) 页面加载时长确定方法、装置、设备和存储介质
CN113760405B (zh) 一种网关接口的验签方法、装置、存储介质及电子设备
CN115373901A (zh) 终端数据恢复方法、装置、设备及存储介质
CN117827745A (zh) 对象系统下语义快照的实现方法、装置、设备及存储介质
CN114896139A (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