CN113377346A - 集成环境搭建方法、装置、电子设备及存储介质 - Google Patents

集成环境搭建方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113377346A
CN113377346A CN202110646019.3A CN202110646019A CN113377346A CN 113377346 A CN113377346 A CN 113377346A CN 202110646019 A CN202110646019 A CN 202110646019A CN 113377346 A CN113377346 A CN 113377346A
Authority
CN
China
Prior art keywords
application
preset
created
project
information data
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.)
Granted
Application number
CN202110646019.3A
Other languages
English (en)
Other versions
CN113377346B (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.)
Beijing Deepexi Technology Co Ltd
Original Assignee
Beijing Deepexi 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 Beijing Deepexi Technology Co Ltd filed Critical Beijing Deepexi Technology Co Ltd
Priority to CN202110646019.3A priority Critical patent/CN113377346B/zh
Publication of CN113377346A publication Critical patent/CN113377346A/zh
Application granted granted Critical
Publication of CN113377346B publication Critical patent/CN113377346B/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/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

本发明涉及计算机技术领域,提供了一种集成环境搭建方法、装置、电子设备及存储介质。该方法接收用户输入的创建工程请求,创建工程请求包含工程信息数据,根据工程信息数据创建工程,将创建完成的工程存储至预设数据库;接收用户输入的创建应用请求,创建应用请求包括所述应用信息数据,根据应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;根据创建完成的工程和应用配置生成部署脚本,向预设运行环境发送任务部署请求,任务部署请求包含部署脚本;控制预设运行环境根据任务部署请求创建并部署预设运行环境的资源。本申请较为节约人力。

Description

集成环境搭建方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种集成环境搭建方法、装置、电子设备及存储介质。
背景技术
目前,一套开发完成的系统包括前端应用、后端应用(如订单应用、商品应用、支付应用等)和基础设施等,需要工作人员按常规部署一套集成环境的方式来实现集成环境的搭建。具体地,工作人员针对这些应用人工编写一套部署脚本,并向预设运行环境发送携带有部署脚本的部署请求;然后由预设运行环境根据部署脚本生成对应的资源并部署所生成的资源,从而最终实现集成环境的搭建。其中,预设运行环境例如Kubernetes,Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,利用Kubernetes可实现资源的部署。由于在集成环境中其均会涉及到多个应用,而每个应用均需要以人工的方式单独编写一套部署脚本,其导致现有集成环境搭建的方式颇为耗费人力。
发明内容
鉴于以上内容,本发明提供一种集成环境搭建方法、装置、电子设备及存储介质。
本发明提供一种集成环境搭建方法,所述方法包括:
控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;
控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;
控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
在其中一实施例中,所述预设数据库为关系型数据库。
在其中一实施例中,所述预设类型信息数据包括应用类型数据、编程语言数据、开发框架数据、单测框架数据、sonar数据、dockerfile数据、参数配置数据、环境数据和发布配置数据。
在其中一实施例中,所述根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库包括:
判断所述工程信息数据是否与第一预设规则相匹配,当所述工程信息数据与第一预设规则相匹配时,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库。
在其中一实施例中,所述根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库包括:
判断所述应用信息数据是否与第二预设规则相匹配,当所述应用信息数据与第二预设规则相匹配时,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库。
在其中一实施例中,在所述控制预设沟通平台接收用户输入的创建应用请求之前,所述方法包括:
响应用户输入的获取工程请求,控制预设GitLab平台返回GitLab工程数据;接收用户输入的应用信息数据,将所述应用信息数据和所述GitLab工程数据进行关联。
在其中一实施例中,在所述控制预设沟通平台接收用户输入的部署任务请求之前,所述方法包括:
控制预设沟通平台接收用户输入的获取部署任务信息请求,从预设数据库中取出创建完成的工程和应用,返回所取出的工程和应用。
本发明还提供一种集成环境搭建装置,所述装置包括:
第一控制模块,用于控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;
第二控制模块,用于控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;
第三控制模块,用于控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;根据所述创建完成的工程和应用配置生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的集成环境搭建方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有集成环境搭建程序,所述集成环境搭建程序被处理器执行时,实现如上所述的集成环境搭建方法的步骤。
本申请控制预设沟通平台接收用户输入的创建工程请求,创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;控制预设沟通平台接收用户输入的创建应用请求,创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析创建完成的应用,得到应用的预设类型信息数据,根据创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送包含有所述部署脚本的任务部署请求;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。本申请通过预设沟通平台即可自动生成部署脚本,无需工作人员针对应用来人工配置部署脚本,较为节约人力;通过预设运行环境根据所述任务部署请求创建预设运行环境的资源并部署创建完成的资源,从而实现了集成环境的搭建。
附图说明
图1为本发明电子设备较佳实施例的示意图;
图2为本发明集成环境搭建方法较佳实施例的流程图;
图3为本发明集成环境搭建装置较佳实施例的模块示意图;
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1所示,为本发明电子设备1较佳实施例的示意图。
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System ofMobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如集成环境搭建程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行集成环境搭建程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器、屏幕以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作页面,例如显示数据统计的结果。电子设备1可以包括第一显示单元和第二显示单元。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及集成环境搭建程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。
该电子设备1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的集成环境搭建程序10时可以实现如下步骤:
控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;
控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;
控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
关于上述步骤的详细介绍,请参照下述图2关于集成环境搭建方法实施例的流程图的说明以及图3关于集成环境搭建装置100实施例的功能模块图。
图2是本发明实施例的一种集成环境搭建方法的流程图。
如图3所示,本发明实施例公开了一种集成环境搭建方法,该集成环境搭建方法可以应用于电子设备,本发明实施例的集成环境搭建方法可以包括以下步骤:
步骤S10,控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库。
本实施例中,预设沟通平台为DevOps平台。DevOps为Development和Operations的组合词,是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。用户为从事软件开发的工作人员,用户通过预设输入法向电子设备输入工程信息数据,然后向电子设备发出创建工程请求,所述创建工程请求包含工程信息数据,所述创建工程请求可由用户点击一个特定的物理按键触发,也可由用户点击一个操作界面(例如,该操作界面可以是用户在一个适用的电子设备上安装并运行一个特定软件后,在该电子设备显示单元上显示的操作界面)的特定功能控件触发,在此不做赘述。电子设备控制预设沟通平台接收用户输入的创建工程请求,根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库。其中,创建完成的工程例如电商平台。
值得一提的是,预设数据库为关系型数据库,具体地,关系型数据库为MySQL。
可选地,所述根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库包括:
判断所述工程信息数据是否与第一预设规则相匹配,当所述工程信息数据与第一预设规则相匹配时,根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库。
可以理解的是,第一预设规则是预先设置完成的,第一预设规则由工程信息数据对应的正则表达式组成,正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对工程信息数据的一种过滤逻辑。字符串包括普通字符和特殊字符,普通字符例如,a到z之间的字母,特殊字符又称为“元字符”。当所述工程信息数据与第一预设规则相匹配时,说明用户所输入的工程信息数据是符合要求的,此时可根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库。反之,当所述工程信息数据与第一预设规则不匹配时,说明用户所输入的工程信息数据是不符合要求的,此时电子设备向用户返回错误的提示信息。
步骤S20,控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库。
本实施例中,用户向电子设备输入应用信息数据,然后向电子设备发出创建应用请求,其中,所述创建应用请求包括所述应用信息数据。电子设备控制预设沟通平台接收用户输入的创建应用请求,从而预设沟通平台根据所述应用信息数据在创建完成的工程中创建应用,并将将创建完成的应用存储至预设数据库。以前述创建完成的工程为电商平台为例,预设沟通平台根据所述应用信息数据在电商平台中创建商品应用、订单应用等应用。
可选地,所述根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库包括:
判断所述应用信息数据是否与第二预设规则相匹配,当所述应用信息数据与第二预设规则相匹配时,根据所述应用信息数据在创建完成的工程中创建应用,控制预设沟通平台将创建完成的应用存储至预设数据库。
可以理解的是,第二预设规则是预先设置完成的,第二预设规则由应用信息数据对应的正则表达式组成,当所述应用信息数据与第二预设规则相匹配时,说明用户所输入的应用信息数据是符合要求的,此时可根据所述应用信息数据在创建完成的工程中创建应用,控制预设沟通平台将创建完成的应用存储至预设数据库。反之,当所述应用信息数据与第二预设规则不匹配时,说明用户所输入的应用信息数据是不符合要求的,此时电子设备向用户返回错误的提示信息。
可选地,所述控制预设沟通平台接收用户输入的创建应用请求之前,所述方法包括:
响应用户输入的获取工程请求,控制预设工程管理平台返回平台工程数据;接收用户输入的应用信息数据,将所述应用信息数据和所述平台工程数据进行关联。
可以理解的是,预设工程管理平台可以为GitLab平台,GitLab平台是开源项目的管理平台,具有把源码集中存放的功能,同时依靠git进行code的同步,在实际的开发过程中可保证团队的项目同步,同时便于便于维护。平台工程数据为GitLab工程数据,即GitLab平台所存放的代码数据。用户向电子设备输入获取GitLab工程请求,电子设备控制预设GitLab平台向用户返回GitLab工程数据(例如控制显示单元显示GitLab工程数据)。用户可根据GitLab平台所返回的GitLab工程数据向电子设备填写创建应用的相关信息,电子设备将用户输入的应用相关信息与所述GitLab工程数据进行关联。
步骤S30,控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
本实施例中,用户向电子设备输入部署任务请求,电子设备控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和创建完成的应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本;控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。其中,预设运行环境例如Kubernetes、Helm、Ansible等,部署脚本例如Kubernetes Yaml、Helm Chart、Ansible Playbook等,预设运行环境、资源和部署脚本之间具有对应关系。
其中,Kubernetes是开源的,用于管理云平台中多个主机上的容器化的应用。Kubernetes Yaml就是K8S资源对象的说明书,定义了对象包含的元素及采取的动作,每种对象都可以通过yaml配置文件来创建。
Helm是Kubernetes的包管理器,类似于Python的pipcentos的yum,主要用来管理Charts。Helm Chart是用来封装Kubernetes原生应用程序的一系列YAML文件。可以在部署应用的时候自定义应用程序的一些Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过Helm打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。Helm Chart是Helm对应的配置文件。
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。具体地,ansible是基于paramiko开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible playbook是由多个play组成的列表,paly的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色,从根本上讲,所谓的task无非是调用ansible的module讲多个play组织在一个playbook中,即可以让它们连同起来按事先编排好的机制运行。palybook采用的是YAML语言编写的。Ansible Playbook是Ansible对应的配置文件。
例如,预设沟通平台根据所述创建完成的工程和应用配置生成部署脚本HelmChart。预设沟通平台向预设运行环境Kubernetes发送任务部署请求,通过任务部署请求传输Helm Chart脚本包。预设运行环境Kubernetes接收到预设沟通平台发送来的任务部署请求,调用Kubernetes APIServer创建deployment、service等资源,部署创建完成的资源,即对创建完成的资源按预设规则进行排序。Deployment资源和service资源均是Kubernetes对应的资源文件。deployment是用来管理无状态应用的,面向的是集群的管理。Service定义了这样一种抽象:逻辑上的一组Pod,一种可以访问它们的策略,通常被称为微服务。这一组Pod能够被Service访问到,通常是通过selector实现的。
进一步地,所述预设类型信息数据包括应用类型数据、编程语言数据、开发框架数据、单测框架数据、代码质量数据、镜像文件数据、参数配置数据、环境数据和发布配置数据。
可以理解的是,代码质量数据为sonar数据,镜像文件数据为dockerfile数据。
可选地,所述控制预设沟通平台接收用户输入的部署任务请求之前,所述方法包括:
控制预设沟通平台接收用户输入的获取部署任务信息请求,从预设数据库中取出创建完成的工程和应用,返回所取出的工程和应用。
可以理解的是,用户向电子设备输入获取部署任务信息的请求,电子设备控制预设沟通平台接收用户输入的获取部署任务信息请求,控制预设沟通平台从预设数据库中取出创建完成的工程和应用,向用户返回所取出的工程和应用(例如控制显示单元显示所取出的工程和应用),利于用户了解创建完成的工程和应用的信息,从而利于用户输入的部署任务请求。
本申请控制预设沟通平台接收用户输入的创建工程请求,创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;控制预设沟通平台接收用户输入的创建应用请求,创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送包含有所述部署脚本的任务部署请求;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。本申请通过预设沟通平台即可自动生成部署脚本,无需工作人员针对应用来人工配置部署脚本,较为节约人力;通过预设运行环境根据所述任务部署请求创建预设运行环境的资源并部署创建完成的资源,从而实现了集成环境的搭建。
参照图3所示,对应方法实施例,本发明还提供了一种集成环境搭建装置,本发明所述集成环境搭建装置100可以安装于电子设备中。根据实现的功能,所述集成环境搭建装置100可以包括第一控制模块110、第二控制模块120、及第三控制模块130。本发明中所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
第一控制模块110,用于控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库。
本实施例中,预设沟通平台为DevOps平台。DevOps为Development和Operations的组合词,是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。用户为从事软件开发的工作人员,用户通过预设输入法向电子设备输入工程信息数据,然后向电子设备发出创建工程请求,所述创建工程请求包含工程信息数据,所述创建工程请求可由用户点击一个特定的物理按键触发,也可由用户点击一个操作界面(例如,该操作界面可以是用户在一个适用的电子设备上安装并运行一个特定软件后,在该电子设备显示单元上显示的操作界面)的特定功能控件触发,在此不做赘述。电子设备控制预设沟通平台接收用户输入的创建工程请求,根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库。其中,创建完成的工程例如电商平台。
值得一提的是,预设数据库为关系型数据库,具体地,关系型数据库为MySQL。
可选地,所述根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库包括:
判断所述工程信息数据是否与第一预设规则相匹配,当所述工程信息数据与第一预设规则相匹配时,根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库。
可以理解的是,第一预设规则是预先设置完成的,第一预设规则由工程信息数据对应的正则表达式组成,正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对工程信息数据的一种过滤逻辑。字符串包括普通字符和特殊字符,普通字符例如,a到z之间的字母,特殊字符又称为“元字符”。当所述工程信息数据与第一预设规则相匹配时,说明用户所输入的工程信息数据是符合要求的,此时可根据所述工程信息数据创建工程,控制预设沟通平台将创建完成的工程存储至预设数据库。反之,当所述工程信息数据与第一预设规则不匹配时,说明用户所输入的工程信息数据是不符合要求的,此时电子设备向用户返回错误的提示信息。
第二控制模块120,用于控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库。
本实施例中,用户向电子设备输入应用信息数据,然后向电子设备发出创建应用请求,其中,所述创建应用请求包括所述应用信息数据。电子设备控制预设沟通平台接收用户输入的创建应用请求,从而预设沟通平台根据所述应用信息数据在创建完成的工程中创建应用,并将将创建完成的应用存储至预设数据库。以前述创建完成的工程为电商平台为例,预设沟通平台根据所述应用信息数据在电商平台中创建商品应用、订单应用等应用。
可选地,所述根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库包括:
判断所述应用信息数据是否与第二预设规则相匹配,当所述应用信息数据与第二预设规则相匹配时,根据所述应用信息数据在创建完成的工程中创建应用,控制预设沟通平台将创建完成的应用存储至预设数据库。
可以理解的是,第二预设规则是预先设置完成的,第二预设规则由应用信息数据对应的正则表达式组成,当所述应用信息数据与第二预设规则相匹配时,说明用户所输入的应用信息数据是符合要求的,此时可根据所述应用信息数据在创建完成的工程中创建应用,控制预设沟通平台将创建完成的应用存储至预设数据库。反之,当所述应用信息数据与第二预设规则不匹配时,说明用户所输入的应用信息数据是不符合要求的,此时电子设备向用户返回错误的提示信息。
可选地,所述集成环境搭建装置还包括返回模块,返回模块用于:
响应用户输入的获取工程请求,控制预设工程管理平台返回平台工程数据;接收用户输入的应用信息数据,将所述应用信息数据和所述平台工程数据进行关联。
可以理解的是,预设工程管理平台可以为GitLab平台,GitLab平台是开源项目的管理平台,具有把源码集中存放的功能,同时依靠git进行code的同步,在实际的开发过程中可保证团队的项目同步,同时便于便于维护。平台工程数据为GitLab工程数据,即GitLab平台所存放的代码数据。用户向电子设备输入获取GitLab工程请求,电子设备控制预设GitLab平台向用户返回GitLab工程数据(例如控制显示单元显示GitLab工程数据)。用户可根据GitLab平台所返回的GitLab工程数据向电子设备填写创建应用的相关信息,电子设备将用户输入的应用相关信息与所述GitLab工程数据进行关联。
第三控制模块130,用于控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
本实施例中,用户向电子设备输入部署任务请求,电子设备控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和创建完成的应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本;控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。其中,预设运行环境例如Kubernetes、Helm、Ansible等,部署脚本例如Kubernetes Yaml、Helm Chart、Ansible Playbook等,预设运行环境、资源和部署脚本之间具有对应关系。
其中,Kubernetes是开源的,用于管理云平台中多个主机上的容器化的应用。Kubernetes Yaml就是K8S资源对象的说明书,定义了对象包含的元素及采取的动作,每种对象都可以通过yaml配置文件来创建。
Helm是Kubernetes的包管理器,类似于Python的pipcentos的yum,主要用来管理Charts。Helm Chart是用来封装Kubernetes原生应用程序的一系列YAML文件。可以在部署应用的时候自定义应用程序的一些Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过Helm打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。Helm Chart是Helm对应的配置文件。
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。具体地,ansible是基于paramiko开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。ansible playbook是由多个play组成的列表,paly的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色,从根本上讲,所谓的task无非是调用ansible的module讲多个play组织在一个playbook中,即可以让它们连同起来按事先编排好的机制运行。palybook采用的是YAML语言编写的。Ansible Playbook是Ansible对应的配置文件。
例如,预设沟通平台根据所述创建完成的工程和应用配置生成部署脚本HelmChart。预设沟通平台向预设运行环境Kubernetes发送任务部署请求,通过任务部署请求传输Helm Chart脚本包。预设运行环境Kubernetes接收到预设沟通平台发送来的任务部署请求,调用Kubernetes APIServer创建deployment、service等资源,部署创建完成的资源,即对创建完成的资源按预设规则进行排序。Deployment资源和service资源均是Kubernetes对应的资源文件。deployment是用来管理无状态应用的,面向的是集群的管理。Service定义了这样一种抽象:逻辑上的一组Pod,一种可以访问它们的策略,通常被称为微服务。这一组Pod能够被Service访问到,通常是通过selector实现的。
可选地,所述根据所述创建完成的工程和应用配置生成部署脚本包括:
解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本。
进一步地,所述预设类型信息数据包括应用类型数据、编程语言数据、开发框架数据、单测框架数据、代码质量数据、镜像文件数据、参数配置数据、环境数据和发布配置数据。
可以理解的是,代码质量数据为sonar数据,镜像文件数据为dockerfile数据。
可选地,所述集成环境搭建装置还包括第四控制模块,第四控制模块用于:
控制预设沟通平台接收用户输入的获取部署任务信息请求,从预设数据库中取出创建完成的工程和应用,返回所取出的工程和应用。
可以理解的是,用户向电子设备输入获取部署任务信息的请求,电子设备控制预设沟通平台接收用户输入的获取部署任务信息请求,控制预设沟通平台从预设数据库中取出创建完成的工程和应用,向用户返回所取出的工程和应用(例如控制显示单元显示所取出的工程和应用),利于用户了解创建完成的工程和应用的信息,从而利于用户输入的部署任务请求。
本申请控制预设沟通平台接收用户输入的创建工程请求,创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;控制预设沟通平台接收用户输入的创建应用请求,创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送包含有所述部署脚本的任务部署请求;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。本申请通过预设沟通平台即可自动生成部署脚本,无需工作人员针对应用来人工配置部署脚本,较为节约人力;通过预设运行环境根据所述任务部署请求创建预设运行环境的资源并部署创建完成的资源,从而实现了集成环境的搭建。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有集成环境搭建程序10,所述集成环境搭建程序10被处理器执行时实现如下操作:
控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;
控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;
控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
需要强调的是,本发明之计算机可读存储介质的具体实施方式与上述集成环境搭建方法的具体实施方式大致相同,在此不再赘述。
本发明之计算机可读存储介质的具体实施方式与上述集成环境搭建方法的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种集成环境搭建方法,其特征在于,所述方法包括:
控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;
控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;
控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
2.如权利要求1所述的集成环境搭建方法,其特征在于,在所述控制预设沟通平台接收用户输入的创建应用请求之前,所述方法包括:
响应用户输入的获取工程请求,控制预设工程管理平台返回平台工程数据;接收用户输入的应用信息数据,将所述应用信息数据和所述平台工程数据进行关联。
3.如权利要求1所述的集成环境搭建方法,其特征在于,所述预设类型信息数据包括应用类型数据、编程语言数据、开发框架数据、单测框架数据、代码质量数据、镜像文件数据、参数配置数据、环境数据和发布配置数据。
4.如权利要求1所述的集成环境搭建方法,其特征在于,所述根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库包括:
判断所述工程信息数据是否与第一预设规则相匹配,当所述工程信息数据与第一预设规则相匹配时,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库。
5.如权利要求1所述的集成环境搭建方法,其特征在于,所述根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库包括:
判断所述应用信息数据是否与第二预设规则相匹配,当所述应用信息数据与第二预设规则相匹配时,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库。
6.如权利要求1所述的集成环境搭建方法,其特征在于,所述预设数据库为关系型数据库。
7.如权利要求1所述的集成环境搭建方法,其特征在于,在所述控制预设沟通平台接收用户输入的部署任务请求之前,所述方法包括:
控制预设沟通平台接收用户输入的获取部署任务信息请求,从预设数据库中取出创建完成的工程和应用,返回所取出的工程和应用。
8.一种集成环境搭建装置,其特征在于,所述装置包括:
第一控制模块,用于控制预设沟通平台接收用户输入的创建工程请求,所述创建工程请求包含工程信息数据,根据所述工程信息数据创建工程,将创建完成的工程存储至预设数据库;
第二控制模块,用于控制预设沟通平台接收用户输入的创建应用请求,所述创建应用请求包括所述应用信息数据,根据所述应用信息数据在创建完成的工程中创建应用,将创建完成的应用存储至预设数据库;
第三控制模块,用于控制预设沟通平台接收用户输入的部署任务请求,从预设数据库中获取创建完成的工程和应用;解析所述创建完成的应用,得到应用的预设类型信息数据,根据所述创建完成的工程和应用的预设类型信息数据生成部署脚本,控制预设沟通平台向预设运行环境发送任务部署请求,所述任务部署请求包含所述部署脚本;控制预设运行环境根据所述任务部署请求创建预设运行环境的资源,部署创建完成的资源。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的集成环境搭建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有集成环境搭建程序,所述集成环境搭建程序被处理器执行时,实现如权利要求1至7中任一项所述的集成环境搭建方法的步骤。
CN202110646019.3A 2021-06-10 2021-06-10 集成环境搭建方法、装置、电子设备及存储介质 Active CN113377346B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110646019.3A CN113377346B (zh) 2021-06-10 2021-06-10 集成环境搭建方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110646019.3A CN113377346B (zh) 2021-06-10 2021-06-10 集成环境搭建方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113377346A true CN113377346A (zh) 2021-09-10
CN113377346B CN113377346B (zh) 2023-01-31

Family

ID=77573762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110646019.3A Active CN113377346B (zh) 2021-06-10 2021-06-10 集成环境搭建方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113377346B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961311A (zh) * 2021-10-27 2022-01-21 阿波罗智联(北京)科技有限公司 业务数据处理方法、装置、电子设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184164A1 (zh) * 2018-03-30 2019-10-03 平安科技(深圳)有限公司 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
CN110704164A (zh) * 2019-09-30 2020-01-17 珠海市新德汇信息技术有限公司 一种基于Kubernetes技术的云原生应用平台构建方法
CN111090437A (zh) * 2019-11-19 2020-05-01 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
CN111596928A (zh) * 2020-05-19 2020-08-28 吉林大学 一种应用控制方法、装置及电子设备
CN112910956A (zh) * 2021-01-15 2021-06-04 北京金山云网络技术有限公司 一种资源创建方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019184164A1 (zh) * 2018-03-30 2019-10-03 平安科技(深圳)有限公司 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
CN110704164A (zh) * 2019-09-30 2020-01-17 珠海市新德汇信息技术有限公司 一种基于Kubernetes技术的云原生应用平台构建方法
CN111090437A (zh) * 2019-11-19 2020-05-01 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
CN111596928A (zh) * 2020-05-19 2020-08-28 吉林大学 一种应用控制方法、装置及电子设备
CN112910956A (zh) * 2021-01-15 2021-06-04 北京金山云网络技术有限公司 一种资源创建方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961311A (zh) * 2021-10-27 2022-01-21 阿波罗智联(北京)科技有限公司 业务数据处理方法、装置、电子设备和介质
US11870867B2 (en) 2021-10-27 2024-01-09 Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. Method of processing service data, electronic device and storage medium

Also Published As

Publication number Publication date
CN113377346B (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
CN109358851B (zh) 图表组件的创建方法、装置及计算机可读存储介质
CN108304201B (zh) 对象更新方法、装置及设备
US20230236809A1 (en) Ios application program construction method and apparatus, electronic device, and storage medium
CN110244984B (zh) 应用程序处理方法、装置、存储介质和计算机设备
CN109446218A (zh) Sql语句生成方法、装置及计算机可读存储介质
CN107656729B (zh) 列表视图的更新装置、方法及计算机可读存储介质
WO2018036342A1 (zh) 基于csar的模型文件的可视化设计方法及装置
US10817819B2 (en) Workflow compilation
CN110096424B (zh) 测试的处理方法、装置、电子设备及存储介质
WO2020015191A1 (zh) 业务规则的发布管理方法、电子装置及可读存储介质
CN110806873B (zh) 目标控件确定方法、装置、电子设备及存储介质
CN114064213B (zh) 基于Kubernets容器环境的快速编排服务方法及系统
CN113064630B (zh) 移动端app自动打包方法、系统、电子设备及存储介质
KR20200046769A (ko) 보고서 자동 생성 기반의 업무 프로세스 관리 시스템 제공 방법
CN111104108B (zh) 一种显示界面wpf的生成方法及装置
CN111459812A (zh) 接口测试用例生成方法、电子装置及存储介质
CN113934832A (zh) 基于会话的交互处理方法、装置、设备、介质及程序产品
CN113377346B (zh) 集成环境搭建方法、装置、电子设备及存储介质
CN110865840B (zh) 一种应用管理方法、装置、服务器及存储介质
CN110109684B (zh) 区块链节点管理代理服务安装方法、电子装置及存储介质
CN110704122A (zh) 插件加载方法及装置
CN114546588A (zh) 任务的部署方法、装置、存储介质及电子装置
CN110096304A (zh) 基于Jenkins的任务构建方法、装置、设备及存储介质
CN111984882A (zh) 数据处理方法、系统及设备
CN110138582A (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