CN117369860A - 一种基于云原生脚本文件的自动发布方法及系统 - Google Patents

一种基于云原生脚本文件的自动发布方法及系统 Download PDF

Info

Publication number
CN117369860A
CN117369860A CN202311232546.5A CN202311232546A CN117369860A CN 117369860 A CN117369860 A CN 117369860A CN 202311232546 A CN202311232546 A CN 202311232546A CN 117369860 A CN117369860 A CN 117369860A
Authority
CN
China
Prior art keywords
app
deployment
creating
micro
information
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
Application number
CN202311232546.5A
Other languages
English (en)
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.)
QIMING INFORMATION TECHNOLOGY CO LTD
Original Assignee
QIMING INFORMATION 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 QIMING INFORMATION TECHNOLOGY CO LTD filed Critical QIMING INFORMATION TECHNOLOGY CO LTD
Priority to CN202311232546.5A priority Critical patent/CN117369860A/zh
Publication of CN117369860A publication Critical patent/CN117369860A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于云原生脚本文件的自动发布方法及系统。方法包括以下步骤:S1.对全局信息及集群信息进行部署;S2.创建系统并进行部署;S3.创建APP并进行部署;S4.创建微服务并进行部署。系统包括配置模块和部署模块;其中,配置模块包括:全局配置模块、集群配置模块;部署模块包括:系统部署模块、APP/微服务部署模块。本发明通过可视化界面配置及k8s脚本模板文件完成项目的自动发布,隐藏了项目部署过程中的相关繁琐步骤,降低了项目部署的技术门槛,大大提高了项目部署的效率。

Description

一种基于云原生脚本文件的自动发布方法及系统
技术领域
本发明涉及软件自动发布技术领域,具体为一种基于云原生脚本文件的自动发布方法及系统。
背景技术
随着云计算的发展,云原生架构已成为越来越受欢迎的软件架构方式。其中,基于容器化的云原生应用,可以实现更高效的开发、部署和运维。
目前,业界已经存在一些基于容器化和DevOps自动化工具的自动发布方案。例如,Kubernetes可以通过Deployment对象、Pod Template和Service来进行自动化发布和扩缩容;Jenkins可以使用Pipeline脚本来实现CI/CD过程中自动化发布的自动化流程。然而,这些自动化发布方案也存在一些问题。例如,传统的CI/CD工具需要通过多个YAML文件和繁琐的配置来定义不同环境的部署策略,而这些操作需要极高的技术水平;传统的自动扩展机制只能针对CPU和内存进行水平扩展,不能对业务进行更加细粒度的调整。在这样的背景下,如何实现基于云原生的自动化发布显得尤为重要。
发明内容
为了解决上述问题,本发明提供一种基于云原生脚本文件的自动发布系统,包括配置模块和部署模块;其中,配置模块包括:全局配置模块、集群配置模块;部署模块包括:系统部署模块、APP/微服务部署模块。
进一步地,所述全局配置模块用于进行全局信息进行配置;所述集群配置模块用于对系统内各项信息的对应关系配置项进行维护;所述系统部署模块用于填写需要进行部署的相关信息并在不同的系统平台上进行脚本的自动化部署;所述APP/微服务部署模块用于填写需要进行部署的相关信息并在不同的APP或微服务平台上进行脚本的自动化部署。
进一步地,所述全局配置模块中的配置项包括:gitlab、harbor、k8s、nacos;所述集群配置模块中系统内各项信息包括集群名称、集群秘钥、容器内部访问nacos的内部地址。
进一步地,所述系统部署模块所需填写的相关信息包括:集群名称、企业空间名称、gitlab组名称、jenkins组名称、nacos命名空间名称;所述APP/微服务部署模块所需填写的相关信息包括:APP部署信息:APP代码、APP负责人、APP名称、实施负责人、APP路由地址、域名;微服务部署信息:微服务代码、微服务名称、微服务负责人、应用端口号、数据库URL、数据连接用户名、数据库密码、应用包路径、前缀名称、版本号。
一种基于云原生脚本文件的自动发布方法,包括以下步骤:S1.对全局信息及集群信息进行部署;S2.创建系统并进行部署;S3.创建APP并进行部署;S4.创建微服务并进行部署。
进一步地,所述S2步骤包括以下子步骤:S21.创建k8s企业空间及k8s项目空间;S22.创建系统gitlab组和jenkins组;S23.创建系统nacos命名空间;S24.保存上述创建的全部关联配置信息。
进一步地,所述S3步骤包括以下子步骤:S31.在创建好的系统gitlab组中创建APPgitlab工程;S32.在创建好的系统项目空间下创建APP流水线;S33.保存上述创建的全部关联配置信息。
进一步地,所述S4步骤包括以下子步骤:S41.在创建好的系统gitlab组中创建微服务gitlab工程;S42.在创建好的系统项目空间下创建微服务流水线;S43.保存上述创建的全部关联配置信息。
本发明提供了一种基于云原生脚本文件的自动发布方法及系统,具有以下有益效果:
(1)本发明通过可视化界面配置全局、系统、APP、微服务的相关信息。根据收集到的信息及脚本模板文件,调用k8s接口,创建流水线,可根据流水一键部署工程项目。解决了对k8s、nacos、harbor、jenkins、gitlab等不了解的人员,也可以进行项目部署,后续可通过流水线持续进行项目升级等。
(2)本发明通过可视化界面配置及k8s脚本模板文件完成项目的自动发布,隐藏了项目部署过程中的相关繁琐步骤,降低了项目部署的技术门槛,大大提高了项目部署的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明提供的方法流程图;
图2为本发明提供的系统结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
以下结合附图对本发明的实施方法进行详细说明,所描述的仅为部分实施例,并非全部实施例,为了清楚的目的,在附图及说明中省略了与本发明无关的表示及描述。
为了对本发明的技术特征、目的和有益效果有更加清楚的理解,现对本发明的技术方案精选以下详细说明。显然,所描述的实施案例是本发明一部分实施例,而不是全部实施例,不能理解为对本发明可实施范围的限定。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的其他所有实施例,都属于本发明的保护范围。
如图2所示,本发明提供一种基于云原生脚本文件的自动发布系统,包括配置模块和部署模块;其中,配置模块包括:全局配置模块、集群配置模块;部署模块包括:系统部署模块、APP/微服务部署模块。
其中,全局配置模块用于进行全局信息进行配置;所述集群配置模块用于对系统内各项信息的对应关系配置项进行维护;所述系统部署模块用于填写需要进行部署的相关信息并在不同的系统平台上进行脚本的自动化部署;所述APP/微服务部署模块用于填写需要进行部署的相关信息并在不同的APP或微服务平台上进行脚本的自动化部署。
全局配置模块中的配置项包括:gitlab、harbor、k8s、nacos;所述集群配置模块中系统内各项信息包括集群名称、集群秘钥、容器内部访问nacos的内部地址。
系统部署模块所需填写的相关信息包括:集群名称、企业空间名称、gitlab组名称、jenkins组名称、nacos命名空间名称;所述APP/微服务部署模块所需填写的相关信息包括:APP部署信息:APP代码、APP负责人、APP名称、实施负责人、APP路由地址、域名;微服务部署信息:微服务代码、微服务名称、微服务负责人、应用端口号、数据库URL、数据连接用户名、数据库密码、应用包路径、前缀名称、版本号。
如图1所示,一种基于云原生脚本文件的自动发布方法,包括以下步骤:S1.对全局信息及集群信息进行部署;S2.创建系统并进行部署;S3.创建APP并进行部署;S4.创建微服务并进行部署。
其中,S2步骤包括以下子步骤:S21.创建k8s企业空间及k8s项目空间;S22.创建系统gitlab组和jenkins组;S23.创建系统nacos命名空间;S24.保存上述创建的全部关联配置信息。
S3步骤包括以下子步骤:S31.在创建好的系统gitlab组中创建APP gitlab工程;S32.在创建好的系统项目空间下创建APP流水线;S33.保存上述创建的全部关联配置信息。
S4步骤包括以下子步骤:S41.在创建好的系统gitlab组中创建微服务gitlab工程;S42.在创建好的系统项目空间下创建微服务流水线;S43.保存上述创建的全部关联配置信息。
实施例:
本发明基于自主云平台和脚本模板文件来实现,本发明的主要步骤包括在元数据系统中进行全局信息配置、集群信息配置、创建系统、创建APP、创建微服务等。具体步骤如下:
全局配置:一定要提前进行全局信息配置,否则自动发布功能中断,具体配置项包括gitlab、harbor、k8s、nacos等。
集群配置:集群配置是维护k8s中集群名称、集群秘钥、及容器内部访问nacos的内部地址的对应关系配置项。该配置项为,当在创建系统的时候选择的集群与“全局配置”中配置的集群名称不一致时候使用。
系统创建:除创建系统需要的基本信息外,与自动发布有关的信息项分别为:集群名称:在k8s容器云平台已部署的集群名称;企业空间名称:在k8s容器云平台已创建的企业空间名称;gitlab组名称:当前系统的组gitlab路径,如果不输入,则从全局配置中获取默认组路径;Jenkins组名称:由于不同的部署方式导致内置jenkins部署时,该参数无用,如果不输入,则从全局配置中读取默认组路径;Nacos命名空间名称:在nacos服务中创建的命名空间,如果不输入,则把系统编码作为命名空间名称。
APP创建:除创建APP需要的基本信息外,与自动发布有关的信息项为:域名:在容器云中创建应用路由的时候使用,该域名需要提前创建好,否则即使配置上也不会生效。例:sit-test1-fc-monitor.qm.cn。
微服务创建:除创建微服务需要的基本信息外,与自动发布有关的信息项分别为:应用端口号:在k8s容器云平台中服务对应的端口号,必填项;数据库URL:微服务需要使用的数据库,必填项;数据连接用户名:应用连接数据库使用,必填项;数据库密码:应用连接数据库使用,必填项;应用包路径:生成工程的时候需要创建的包路径,该路径在创建工程的时候和创建具体业务代码的时候需要保URL:微服务需要使用持统一,否则启动类扫描不到具体业务代码,如果不输入,则读取默认值。例:com.qm.qfc.lowcode;前缀名称:生成的工程需要遵循技术平台提供的框架结构,即提供前缀定制,如果不输入则走默认值,例:test-service-app,test即为可定制的输入前缀名称。版本号:生成的工程版本号,默认为0.0.1-SNAPSHOT。
本发明通过可视化界面配置全局、系统、APP、微服务的相关信息。根据收集到的信息及脚本模板文件,调用k8s接口,创建流水线,可根据流水一键部署工程项目。解决了对k8s、nacos、harbor、jenkins、gitlab等不了解的人员,也可以进行项目部署,后续可通过流水线持续进行项目升级等。
本发明通过可视化界面配置及k8s脚本模板文件完成项目的自动发布,隐藏了项目部署过程中的相关繁琐步骤,降低了项目部署的技术门槛,大大提高了项目部署的效率。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (8)

1.一种基于云原生脚本文件的自动发布系统,其特征在于,包括配置模块和部署模块;其中,配置模块包括:全局配置模块、集群配置模块;部署模块包括:系统部署模块、APP/微服务部署模块。
2.根据权利要求1所述的基于云原生脚本文件的自动发布系统,其特征在于,所述全局配置模块用于进行全局信息进行配置;
所述集群配置模块用于对系统内各项信息的对应关系配置项进行维护;
所述系统部署模块用于填写需要进行部署的相关信息并在不同的系统平台上进行脚本的自动化部署;
所述APP/微服务部署模块用于填写需要进行部署的相关信息并在不同的APP或微服务平台上进行脚本的自动化部署。
3.根据权利要求2所述的基于云原生脚本文件的自动发布系统,其特征在于,所述全局配置模块中的配置项包括:gitlab、harbor、k8s、nacos;
所述集群配置模块中系统内各项信息包括集群名称、集群秘钥、容器内部访问nacos的内部地址。
4.根据权利要求2所述的基于云原生脚本文件的自动发布系统,其特征在于,所述系统部署模块所需填写的相关信息包括:集群名称、企业空间名称、gitlab组名称、jenkins组名称、nacos命名空间名称;
所述APP/微服务部署模块所需填写的相关信息包括:
APP部署信息:APP代码、APP负责人、APP名称、实施负责人、APP路由地址、域名;
微服务部署信息:微服务代码、微服务名称、微服务负责人、应用端口号、数据库URL、数据连接用户名、数据库密码、应用包路径、前缀名称、版本号。
5.一种基于云原生脚本文件的自动发布方法,基于权利要求1-4任一项所述的基于云原生脚本文件的自动发布系统,其特征在于,包括以下步骤:
S1.对全局信息及集群信息进行部署;
S2.创建系统并进行部署;
S3.创建APP并进行部署;
S4.创建微服务并进行部署。
6.根据权利要求5所述的基于云原生脚本文件的自动发布方法,其特征在于,所述S2步骤包括以下子步骤:
S21.创建k8s企业空间及k8s项目空间;
S22.创建系统gitlab组和jenkins组;
S23.创建系统nacos命名空间;
S24.保存上述创建的全部关联配置信息。
7.根据权利要求5所述的基于云原生脚本文件的自动发布方法,其特征在于,所述S3步骤包括以下子步骤:
S31.在创建好的系统gitlab组中创建APP gitlab工程;
S32.在创建好的系统项目空间下创建APP流水线;
S33.保存上述创建的全部关联配置信息。
8.根据权利要求5所述的基于云原生脚本文件的自动发布方法,其特征在于,所述S4步骤包括以下子步骤:
S41.在创建好的系统gitlab组中创建微服务gitlab工程;
S42.在创建好的系统项目空间下创建微服务流水线;
S43.保存上述创建的全部关联配置信息。
CN202311232546.5A 2023-09-22 2023-09-22 一种基于云原生脚本文件的自动发布方法及系统 Pending CN117369860A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311232546.5A CN117369860A (zh) 2023-09-22 2023-09-22 一种基于云原生脚本文件的自动发布方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311232546.5A CN117369860A (zh) 2023-09-22 2023-09-22 一种基于云原生脚本文件的自动发布方法及系统

Publications (1)

Publication Number Publication Date
CN117369860A true CN117369860A (zh) 2024-01-09

Family

ID=89399321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311232546.5A Pending CN117369860A (zh) 2023-09-22 2023-09-22 一种基于云原生脚本文件的自动发布方法及系统

Country Status (1)

Country Link
CN (1) CN117369860A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931159A (zh) * 2024-03-22 2024-04-26 鱼快创领智能科技(南京)有限公司 一种基于云原生安全的低代码平台搭建系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117931159A (zh) * 2024-03-22 2024-04-26 鱼快创领智能科技(南京)有限公司 一种基于云原生安全的低代码平台搭建系统

Similar Documents

Publication Publication Date Title
CN106843837A (zh) openstack组件容器化的构建方法
US9418241B2 (en) Unified platform for big data processing
CN103051652B (zh) 一种移动终端云计算发布平台
CN117369860A (zh) 一种基于云原生脚本文件的自动发布方法及系统
CN114064213B (zh) 基于Kubernets容器环境的快速编排服务方法及系统
CN109460358B (zh) 基于Cmdb的配置管理方法及系统
CN108304329B (zh) 一种测试用例的设计方法、装置、终端及可读存储介质
CN111158687B (zh) Java插件的界面生成方法、装置、计算机设备和存储介质
CN109446648B (zh) 仿真服务建立方法及装置
Poccia AWS Lambda in Action: Event-driven serverless applications
CN104750472A (zh) 一种终端应用的资源包管理方法和装置
CN113268232B (zh) 一种页面皮肤生成方法、装置和计算机可读存储介质
US9843635B2 (en) Data replication among portable electronic devices
CN111580794A (zh) 业务管理系统中业务单据创建方法和装置
CN114356430B (zh) 一种基于airflow调度系统的DAG依赖配置工具
CN113485746B (zh) 应用程序接口文档的生成方法及装置
CN104539697B (zh) 一种客户端、服务器及制作安卓移动应用的方法
CN114968224A (zh) 一种多业务场景的树组件封装系统及方法
CN110442331B (zh) 一种自动化搭建代码框架的方法及系统
CN113535221A (zh) 应用版本管理的方法和装置
CN109361719B (zh) 一种基于微服务的操作系统SaaS应用自动整合方法
CN110333848A (zh) 自制eclipse开发平台插件的方法
CN104679782A (zh) 文件版本控制系统及方法
CN112800018B (zh) 一种开发系统
CN108762745B (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