CN110187890B - 项目部署的方法、电子设备、存储介质 - Google Patents

项目部署的方法、电子设备、存储介质 Download PDF

Info

Publication number
CN110187890B
CN110187890B CN201910459575.2A CN201910459575A CN110187890B CN 110187890 B CN110187890 B CN 110187890B CN 201910459575 A CN201910459575 A CN 201910459575A CN 110187890 B CN110187890 B CN 110187890B
Authority
CN
China
Prior art keywords
project
deployment
deployed
information
machine room
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
CN201910459575.2A
Other languages
English (en)
Other versions
CN110187890A (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.)
Zhangyue Technology Co Ltd
Original Assignee
Zhangyue 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 Zhangyue Technology Co Ltd filed Critical Zhangyue Technology Co Ltd
Priority to CN201910459575.2A priority Critical patent/CN110187890B/zh
Publication of CN110187890A publication Critical patent/CN110187890A/zh
Application granted granted Critical
Publication of CN110187890B publication Critical patent/CN110187890B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种项目部署的方法、电子设备、存储介质,其方法包括:接收用户在项目部署配置页面输入的项目的部署信息;部署信息中指定一个或多个待部署机房;根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。通过本发明,可以对项目进行一次部署工作,实现将项目部署至多个机房,大大降低了项目部署所需的工作量,节省项目部署的人力成本。

Description

项目部署的方法、电子设备、存储介质
技术领域
本发明涉及软件技术领域,具体涉及一种项目部署的方法、电子设备、存储介质。
背景技术
项目在开发完成后,需要将其部署在机房上线。在将项目部署至机房时,需要先将项目的代码拷贝到机房的硬件设备上,进行编译、打包等操作。部署时,还需要根据机房本身的信息配置对应的配置文件,以及在打包后还需要在机房的硬件设备上进行测试等操作。
当项目需要在多个机房进行部署时,每个机房均需要进行单独的部署,导致部署所花费的人力成本、时间成本过高。因此,需要一种可以在多个机房进行项目部署的便利方法。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的项目部署的方法、电子设备、存储介质。
根据本发明的一个方面,提供了一种项目部署的方法,其包括:
接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;
根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。
根据本发明的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;
根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。
根据本发明的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行以下操作:
接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;
根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。
根据本发明提供的项目部署的方法、电子设备、存储介质,接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。通过本发明的项目部署方法,可以对项目进行一次部署工作,实现将项目部署至多个机房。一次部署完成对项目代码的读取、编译、测试等持续集成处理,生成可以配置至多个机房的镜像文件。调用各机房接口服务,完成将项目自动部署到机房,大大降低了项目部署所需的工作量,节省项目部署的人力成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的项目部署的方法的流程图;
图2示出了根据本发明实施例二的项目部署的方法的流程图;
图3示出了根据本发明实施例四的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了根据本发明实施例一的项目部署的方法的流程图,如图1所示,项目部署的方法具体包括如下步骤:
步骤S101,接收用户在项目部署配置页面输入的项目的部署信息。
现有技术中,项目在部署至机房时,都是根据各机房实际的部署环境,为各个机房进行单独的项目部署。同一个项目,无法直接将已部署在一个机房的项目拷贝部署至另一机房,完成对另一机房的项目部署,导致当需要将一个项目部署至多个机房时,需要在多个机房分别对项目进行一次项目部署。
本实施例基于上述问题,提供了一种可以将项目一次部署至多个机房的方法。其中,基于页面可视化的方式,提供给用户项目部署配置页面,方便用户在项目部署配置页面中输入项目在向机房部署时所需的部署信息。对于需要部署的机房可以在部署信息中指定一个或多个待部署机房。如在项目部署配置页面中列出各机房信息,方便用户从中选取需要部署的机房作为指定的待部署机房。根据项目部署配置页面中指定的待部署机房,将项目部署至待部署机房。在部署信息中指定待部署机房后,可以获取到待部署机房的IP地址、待部署机房的接口服务等相关的待部署机房信息。
部署信息除指定待部署机房外,还包括了如项目名称、项目路径(项目中各代码存放的位置等)、项目服务列表信息(项目中包含多个服务时,可以选择项目中需要进行部署的一个或多个服务部署至一个或多个待部署机房中,也可以将项目中所有的服务均部署至一个或多个待部署机房中,项目服务列表信息即一个或多个待部署机房需要部署的项目服务)等项目的基本信息。根据这些项目的基本信息,方便后续各待部署机房对应的获取需要部署的项目文件。项目名称、项目路径可以根据项目实际情况由用户填写对应的信息。项目服务列表信息可以从项目中获取具体的服务信息,以及服务对应的代码相关信息等在项目部署配置页面中进行展示,用户根据实际部署需要,来选择对应的服务进行部署。
部署信息还包括了如待执行任务列表,其与后续的待部署机房中的调用服务相对应。用户在项目部署配置页面中选择项目在各待部署机房需要执行的任务,得到项目在各待部署机房的待执行任务列表。待执行任务列表包括了如构建任务、测试任务、回滚任务、部署任务等各种任务。待执行任务列表中各待执行任务由待部署机房的接口服务执行,执行各待执行任务即执行接口服务中具体的job任务。根据各待部署机房的实际情况,确定待执行任务列表中需要的待执行任务。
部署信息还包括了待部署机房的设备信息,如待部署机房的服务器地址、端口信息、数据库地址、登录信息等,以便根据待部署机房的设备信息建立与项目服务部署的对应关系,实现如项目访问数据库连接、开启服务器对应端口等。部署信息还包括了待部署机房的设备信息与项目服务部署对应关系,即指定将项目中的哪个服务部署至待部署机房的哪个设备上。
部署信息还包括项目部署所需的基本配置信息,因不同项目所需的信息不同,此处不一一展开说明,根据项目部署所需,用户在项目部署配置页面中输入具体的基本配置信息,这些基本配置信息可以为适用于各个待部署机房的信息,也可以针对性的设置为不同待部署机房输入对应的基本配置信息。
此处,用户可以为项目开发人员、项目部署人员等,其仅需在项目部署配置页面输入一次项目的部署信息,根据接收到的用户在项目部署配置页面输入的项目的部署信息,后续就可以基于该项目的部署信息实现向待部署机房部署项目。优选地,待部署机房为多个机房,实现用户在项目部署配置页面输入一次项目的部署信息,完成对多个机房的项目部署。
步骤S102,根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中。
在接收到部署信息后,为方便后续可以将项目直接部署至指定的一个或多个待部署机房,可以先根据项目的部署信息对项目进行预测试处理。预测试包括如编译、发布、自动化测试等。具体的,根据部署信息中的项目名称、项目路径等获取到项目的代码,根据代码的语言类型对代码进行编译(在部署信息中还可以包括用户输入的项目代码语言类型,根据代码语言类型确定对应得编译工具对代码进行编译)。若编译成功则进行发布,还可以对编译后发布的项目进行自动化测试。自动化测试可以预先针对项目设置测试用例,按照测试用例进行自动化测试,或者,根据项目代码中包含的测试用例进行测试。当预测试处理正常时,则将项目代码生成项目部署的镜像文件,镜像文件为预测试处理后的文件,即经过编译、发布、测试后,可以进行部署的文件。当预测试处理发生异常时,如编译错误、不能正常发布、测试出现问题等情况时,不能生成镜像文件,可以通过如告警处理等方式通知开发人员对项目代码进行修改,修正异常,之后再对项目重新进行预测试处理,直至生成正确的项目部署的镜像文件。
进一步,将部署信息保存在数据库中,可以根据实施情况,当需要对部署信息进行修改时,如修改指定的待部署机房,可以快速简单地实现机房部署;修改项目服务列表信息,将新增加的服务进行部署等。具体根据实施情况修改,此处不做限定。
步骤S103,根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。
通过以上步骤,将项目生成镜像文件后,可以基于镜像文件进行部署。根据用户点击的项目部署操作,来调用项目部署信息中指定的各个待部署机房的接口服务。接口服务为预先在一个或多个待部署机房配置的,接口服务为持续集成接口服务,如基于jenkins技术的持续集成接口服务。通过接口服务来拉取项目部署的镜像文件以及从数据库中获取项目的部署信息。接口服务根据部署信息中的待执行任务列表,执行其中的待执行任务,如构建任务、测试任务、部署任务等,可以实现将镜像文件拷贝至待部署机房,根据部署信息配置待部署机房,完成项目在待部署机房的部署。
进一步,根据用户点击的项目部署操作,先确定对应的部署方式。部署方式包括部分部署、全部部署。部分部署一般可用于测试,如将项目先部署至待部署机房部分硬件设备上,此处,待部署机房部分硬件设备为测试用硬件设备,方便在部署发生问题时,可以仅回滚测试用硬件设备的相关数据,减少部署损失。全部部署即将项目部署至指定的待部署机房的全部硬件设备。根据实施情况,提供给用户不同的项目部署操作,更加灵活。具体的,可以根据部署方式,先获取对应的待部署机房的设备信息与项目服务部署对应关系。部分部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在选择的待部署机房的部分硬件设备上部署,全部部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在待部署机房的全部硬件设备上部署。在确定部署方式后,再根据待部署机房的设备信息与项目服务部署对应关系,调用待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以供接口服务按照部署信息中的待执行任务列表执行对应的待执行任务,完成将项目部署在待部署机房。
根据本发明提供的项目部署的方法,接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。通过本发明的项目部署方法,可以对项目进行一次部署工作,实现将项目部署至多个机房。一次部署完成对项目代码的读取、编译、测试等持续集成处理,生成可以配置至多个机房的镜像文件。调用各机房接口服务,完成将项目自动部署到机房,大大降低了项目部署所需的工作量,节省项目部署的人力成本。
实施例二
图2示出了根据本发明实施例二的项目部署的方法的流程图,如图2所示,项目部署的方法包括如下步骤:
步骤S201,接收用户在项目部署配置页面输入的项目的部署信息。
该步骤参照图1实施例中步骤S101的描述,在此不再赘述。
进一步,除接收用户第一次在项目部署配置页面输入项目的部署信息外,用户还可以对部署信息进行修改,如修改部署信息中指定的待部署机房、修改待部署机房的设备信息与项目服务部署对应关系等。当用户对部署信息进行更新后,接收用户在项目部署修改页面更新的项目的部署信息,并对应的更新数据库中已存储的部署信息,以便可以按照更新后的部署信息将项目部署在待部署机房。
步骤S202,接收用户在各待部署机房对应的上线配置页面输入的各待部署机房的启动信息,并对应的保存在数据库中。
项目运行包括了项目向待部署机房部署以及启动各机房部署的项目。除用户输入项目的部署信息外,还需要用户对各待部署机房设置对应的启动信息。启动信息会根据各待部署机房设置不同的启动信息。用户可以在各待部署机房的上线配置页面中为各待部署机房输入的对应的启动信息。启动信息包括各种启动参数,如用户、密码信息等。将各待部署机房的启动信息保存在数据库中,方便获取、查询、修改等处理。
步骤S203,根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中。
根据用户输入的部署信息对项目进行编译、发布、自动化测试等预测试处理,为项目生成部署的镜像文件,与将项目代码部署至各待部署机房相比,使用镜像文件更方便更快捷。
步骤S204,根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由各个待部署机房的接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息和启动信息,以便将所述项目部署在各个待部署机房,并将启动信息保存在各待部署机房以备启动。
根据用户点击的项目部署操作,调用各待部署机房预先设置的各接口服务。调用时,根据部署信息中指定的待部署机房,来调用各待部署机房的接口服务。若某机房不在指定的待部署机房中,则无需调用该机房的接口服务。调用待部署机房的接口服务后,由接口服务来从数据库中主动获取项目的部署信息和启动信息,并拉取项目部署的镜像文件。接口服务根据项目部署信息中的待执行任务列表,执行各待执行任务,完成项目在待部署机房的部署。进一步,根据启动信息,设置待部署机房的启动信息,完成项目上线启动。
进一步,以上各页面,如项目部署配置页面、上线配置页面,用户点击项目部署操作等页面,可以通过Devops平台集成,通过Devops平台提供各页面给用户访问,方便用户在各页面中输入对应的信息,在用户点击项目部署操作后,由各个待部署机房的接口服务来拉取这些信息,基于这些信息完成部署、上线启动等后续操作。
根据本发明提供的项目部署的方法,可以方便快捷的将项目部署至指定的一个或多个待部署机房,减轻现有部署所需的工作量。进一步,部署信息若需要更新时,对部署信息直接更新,更新后可以直接适用于多个待部署机房,完成多个待部署机房部署信息的更新,不需要再如现有技术中更新时,需一个机房一个机房进行更新,大大减少部署所花费的人力成本和时间成本。
实施例三
本申请实施例三提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的项目部署的方法。
可执行指令具体可以用于使得处理器执行以下操作:接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。
在一种可选的实施方式中,部署信息包括项目名称、项目路径、项目服务列表信息、待执行任务列表以及待部署机房的设备信息与项目服务部署对应关系;待执行任务列表包括构建任务、测试任务、回滚任务和/或部署任务;待执行任务列表中各待执行任务由待部署机房的接口服务执行。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:预先在一个或多个待部署机房配置对应的接口服务;其中,接口服务为持续集成接口服务。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:接收用户点击的项目部署操作,确定部署方式;其中,部署方式包括部分部署和/或全部部署;根据部署方式,获取对应的待部署机房的设备信息与项目服务部署对应关系;其中,部分部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在选择的待部署机房的部分硬件设备上部署;全部部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在待部署机房的全部硬件设备上部署;根据待部署机房的设备信息与项目服务部署对应关系,调用待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以供接口服务按照部署信息中的待执行任务列表执行对应的待执行任务,完成将项目部署在待部署机房。
在一种可选的实施方式中,预测试包括编译、发布和/或自动化测试。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:接收用户在项目部署修改页面更新的项目的部署信息,并对应的更新数据库中已存储的部署信息,以供按照更新后的部署信息将项目部署在待部署机房。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:接收用户在各待部署机房对应的上线配置页面输入的各待部署机房的启动信息,并对应的保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由各个待部署机房的接口服务分别从数据库中获取各待部署机房的启动信息,以便将启动信息保存在各待部署机房。
实施例四
图3示出了根据本发明实施例四的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图3所示,该电子设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
其中:
处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器302,用于执行程序310,具体可以执行上述项目部署的方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序310具体可以用于使得处理器302执行以下操作:
在一种可选的实施方式中,程序310用于使得处理器302接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。
在一种可选的实施方式中,部署信息包括项目名称、项目路径、项目服务列表信息、待执行任务列表以及待部署机房的设备信息与项目服务部署对应关系;待执行任务列表包括构建任务、测试任务、回滚任务和/或部署任务;待执行任务列表中各待执行任务由待部署机房的接口服务执行。
在一种可选的实施方式中,程序310用于使得处理器302预先在一个或多个待部署机房配置对应的接口服务;其中,接口服务为持续集成接口服务。
在一种可选的实施方式中,程序310用于使得处理器302接收用户点击的项目部署操作,确定部署方式;其中,部署方式包括部分部署和/或全部部署;根据部署方式,获取对应的待部署机房的设备信息与项目服务部署对应关系;其中,部分部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在选择的待部署机房的部分硬件设备上部署;全部部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在待部署机房的全部硬件设备上部署;根据待部署机房的设备信息与项目服务部署对应关系,调用待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以供接口服务按照部署信息中的待执行任务列表执行对应的待执行任务,完成将项目部署在待部署机房。
在一种可选的实施方式中,预测试包括编译、发布和/或自动化测试。
在一种可选的实施方式中,程序310用于使得处理器302接收用户在项目部署修改页面更新的项目的部署信息,并对应的更新数据库中已存储的部署信息,以供按照更新后的部署信息将项目部署在待部署机房。
在一种可选的实施方式中,程序310用于使得处理器302接收用户在各待部署机房对应的上线配置页面输入的各待部署机房的启动信息,并对应的保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由各个待部署机房的接口服务分别从数据库中获取各待部署机房的启动信息,以便将启动信息保存在各待部署机房。
程序310中各步骤的具体实现可以参见上述项目部署的实施例中的相应步骤中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例提供的方案,接收用户在项目部署配置页面输入的项目的部署信息;其中,部署信息中指定一个或多个待部署机房;根据部署信息对项目进行预测试处理,生成项目部署的镜像文件,并将部署信息保存在数据库中;根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将项目部署在各个待部署机房。通过本发明的项目部署方法,可以对项目进行一次部署工作,实现将项目部署至多个机房。一次部署完成对项目代码的读取、编译、测试等持续集成处理,生成可以配置至多个机房的镜像文件。调用各机房接口服务,完成将项目自动部署到机房,大大降低了项目部署所需的工作量,节省项目部署的人力成本。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (18)

1.一种项目部署的方法,其包括:
接收用户在项目部署配置页面输入的项目的部署信息;其中,所述部署信息中指定一个或多个待部署机房;
根据所述部署信息对所述项目进行预测试处理,生成项目部署的镜像文件,并将所述部署信息保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将所述项目部署在各个待部署机房;
所述根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将所述项目部署在各个待部署机房进一步包括:
接收用户点击的项目部署操作,确定部署方式;其中,所述部署方式包括部分部署和/或全部部署;
根据所述部署方式,获取对应的待部署机房的设备信息与项目服务部署对应关系;其中,部分部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在选择的待部署机房的部分硬件设备上部署;全部部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在待部署机房的全部硬件设备上部署;
根据所述待部署机房的设备信息与项目服务部署对应关系,调用待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以供所述接口服务按照所述部署信息中的待执行任务列表执行对应的待执行任务,完成将所述项目部署在所述待部署机房。
2.根据权利要求1所述的方法,其中,所述部署信息包括项目名称、项目路径、项目服务列表信息、待执行任务列表以及待部署机房的设备信息与项目服务部署对应关系;所述待执行任务列表包括构建任务、测试任务、回滚任务和/或部署任务;所述待执行任务列表中各待执行任务由待部署机房的接口服务执行。
3.根据权利要求1或2所述的方法,其中,所述方法还包括:
预先在一个或多个待部署机房配置对应的接口服务;其中,所述接口服务为持续集成接口服务。
4.根据权利要求1或2所述的方法,其中,所述预测试包括编译、发布和/或自动化测试。
5.根据权利要求1或2所述的方法,其中,所述方法还包括:
接收用户在项目部署修改页面更新的项目的部署信息,并对应的更新数据库中已存储的部署信息,以供按照更新后的部署信息将所述项目部署在所述待部署机房。
6.根据权利要求1或2所述的方法,其中,所述方法还包括:
接收用户在各待部署机房对应的上线配置页面输入的各待部署机房的启动信息,并对应的保存在数据库中;
所述根据用户点击的项目部署操作,调用各个待部署机房的接口服务进一步包括:
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由各个待部署机房的接口服务分别从数据库中获取各待部署机房的启动信息,以便将所述启动信息保存在各待部署机房。
7.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
接收用户在项目部署配置页面输入的项目的部署信息;其中,所述部署信息中指定一个或多个待部署机房;
根据所述部署信息对所述项目进行预测试处理,生成项目部署的镜像文件,并将所述部署信息保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将所述项目部署在各个待部署机房;
所述根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将所述项目部署在各个待部署机房进一步包括:
接收用户点击的项目部署操作,确定部署方式;其中,所述部署方式包括部分部署和/或全部部署;
根据所述部署方式,获取对应的待部署机房的设备信息与项目服务部署对应关系;其中,部分部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在选择的待部署机房的部分硬件设备上部署;全部部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在待部署机房的全部硬件设备上部署;
根据所述待部署机房的设备信息与项目服务部署对应关系,调用待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以供所述接口服务按照所述部署信息中的待执行任务列表执行对应的待执行任务,完成将所述项目部署在所述待部署机房。
8.根据权利要求7所述的电子设备,所述部署信息包括项目名称、项目路径、项目服务列表信息、待执行任务列表以及待部署机房的设备信息与项目服务部署对应关系;所述待执行任务列表包括构建任务、测试任务、回滚任务和/或部署任务;所述待执行任务列表中各待执行任务由待部署机房的接口服务执行。
9.根据权利要求7或8所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
预先在一个或多个待部署机房配置对应的接口服务;其中,所述接口服务为持续集成接口服务。
10.根据权利要求7或8所述的电子设备,所述预测试包括编译、发布和/或自动化测试。
11.根据权利要求7或8所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
接收用户在项目部署修改页面更新的项目的部署信息,并对应的更新数据库中已存储的部署信息,以供按照更新后的部署信息将所述项目部署在所述待部署机房。
12.根据权利要求7或8所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
接收用户在各待部署机房对应的上线配置页面输入的各待部署机房的启动信息,并对应的保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由各个待部署机房的接口服务分别从数据库中获取各待部署机房的启动信息,以便将所述启动信息保存在各待部署机房。
13.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行以下操作:
接收用户在项目部署配置页面输入的项目的部署信息;其中,所述部署信息中指定一个或多个待部署机房;
根据所述部署信息对所述项目进行预测试处理,生成项目部署的镜像文件,并将所述部署信息保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将所述项目部署在各个待部署机房;
所述根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以便将所述项目部署在各个待部署机房进一步包括:
接收用户点击的项目部署操作,确定部署方式;其中,所述部署方式包括部分部署和/或全部部署;
根据所述部署方式,获取对应的待部署机房的设备信息与项目服务部署对应关系;其中,部分部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在选择的待部署机房的部分硬件设备上部署;全部部署对应的待部署机房的设备信息与项目服务部署对应关系为将项目中一个或多个服务在待部署机房的全部硬件设备上部署;
根据所述待部署机房的设备信息与项目服务部署对应关系,调用待部署机房的接口服务,由所述接口服务拉取项目部署的镜像文件以及从数据库中获取项目的部署信息,以供所述接口服务按照所述部署信息中的待执行任务列表执行对应的待执行任务,完成将所述项目部署在所述待部署机房。
14.根据权利要求13所述的计算机存储介质,所述部署信息包括项目名称、项目路径、项目服务列表信息、待执行任务列表以及待部署机房的设备信息与项目服务部署对应关系;所述待执行任务列表包括构建任务、测试任务、回滚任务和/或部署任务;所述待执行任务列表中各待执行任务由待部署机房的接口服务执行。
15.根据权利要求13或14所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
预先在一个或多个待部署机房配置对应的接口服务;其中,所述接口服务为持续集成接口服务。
16.根据权利要求13或14所述的计算机存储介质,所述预测试包括编译、发布和/或自动化测试。
17.根据权利要求13或14所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
接收用户在项目部署修改页面更新的项目的部署信息,并对应的更新数据库中已存储的部署信息,以供按照更新后的部署信息将所述项目部署在所述待部署机房。
18.根据权利要求13或14所述的计算机存储介质,所述可执行指令进一步使处理器执行以下操作:
接收用户在各待部署机房对应的上线配置页面输入的各待部署机房的启动信息,并对应的保存在数据库中;
根据用户点击的项目部署操作,调用各个待部署机房的接口服务,由各个待部署机房的接口服务分别从数据库中获取各待部署机房的启动信息,以便将所述启动信息保存在各待部署机房。
CN201910459575.2A 2019-05-29 2019-05-29 项目部署的方法、电子设备、存储介质 Active CN110187890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910459575.2A CN110187890B (zh) 2019-05-29 2019-05-29 项目部署的方法、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910459575.2A CN110187890B (zh) 2019-05-29 2019-05-29 项目部署的方法、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN110187890A CN110187890A (zh) 2019-08-30
CN110187890B true CN110187890B (zh) 2023-04-28

Family

ID=67718639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910459575.2A Active CN110187890B (zh) 2019-05-29 2019-05-29 项目部署的方法、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN110187890B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764753B (zh) * 2020-12-31 2024-04-12 北京知因智慧科技有限公司 一种项目的部署方法、装置、电子设备及存储介质
CN113553163B (zh) * 2021-08-31 2023-07-07 重庆允丰科技有限公司 一种基于调度器的Jenkins应用部署方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508193A (zh) * 2018-11-28 2019-03-22 北京东土科技股份有限公司 一种应用部署运行方法、装置、终端设备和介质
CN109597644A (zh) * 2018-12-05 2019-04-09 江苏风云科技服务有限公司 项目部署方法及装置
WO2019076369A1 (zh) * 2017-10-19 2019-04-25 北京金山云网络技术有限公司 一种云平台部署方法、装置、电子设备及可读存储介质
CN109814879A (zh) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 自动化ci/cd项目部署方法、存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019076369A1 (zh) * 2017-10-19 2019-04-25 北京金山云网络技术有限公司 一种云平台部署方法、装置、电子设备及可读存储介质
CN109508193A (zh) * 2018-11-28 2019-03-22 北京东土科技股份有限公司 一种应用部署运行方法、装置、终端设备和介质
CN109597644A (zh) * 2018-12-05 2019-04-09 江苏风云科技服务有限公司 项目部署方法及装置
CN109814879A (zh) * 2019-01-16 2019-05-28 福建省天奕网络科技有限公司 自动化ci/cd项目部署方法、存储介质

Also Published As

Publication number Publication date
CN110187890A (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
US10956213B1 (en) Automated workflow creation and management
US7287190B2 (en) Simultaneous execution of test suites on different platforms
CN110502244A (zh) 部署Kubernetes集群的方法及装置
JP6788178B2 (ja) 設定支援プログラム、設定支援方法及び設定支援装置
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
CA2645687A1 (en) Installing method, installer, and installing program
CN110187890B (zh) 项目部署的方法、电子设备、存储介质
US20170083433A1 (en) Touch free disaster recovery
US11580008B2 (en) Method and system for synchronous development and testing of live, multi-tenant microservices based SaaS systems
US8661414B2 (en) Method and system for testing an order management system
CN106897223A (zh) 一种基于持续集成的软件包交付方法及装置
EP3230865B1 (en) Recovery execution system using programatic generation of actionable workflows
CN110727575B (zh) 一种信息处理方法、系统、装置、以及存储介质
CN117435513B (zh) 测试用例生成方法、终端设备及计算机可读存储介质
US8245182B2 (en) Class selectable design sharing
CN111324373A (zh) 多个工程文件上传代码仓库的方法及装置、计算设备
US11061808B2 (en) Troubleshooting test failures that occurred during a testing phase of a continuous integration pipeline
CN107220092B (zh) 部署软件的方法、控制服务器、可读介质及存储控制器
CN112631931A (zh) 一种版本测试方法、装置、存储介质和电子设备
EP3362899B1 (en) Automatic system disaster recovery
CN112015436A (zh) 短信平台部署方法及装置、计算设备、计算机存储介质
CN116150013A (zh) 接口测试方法及装置、存储介质、计算机设备
CN110399188B (zh) 初始化操作支持系统
CN110597736B (zh) 测试数据生成方法及装置
US9424016B2 (en) Methods, apparatuses, and systems relating to automation in distributed systems

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