CN117407049B - 一种应用发布编排方法、装置、设备及存储介质 - Google Patents

一种应用发布编排方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117407049B
CN117407049B CN202311731250.8A CN202311731250A CN117407049B CN 117407049 B CN117407049 B CN 117407049B CN 202311731250 A CN202311731250 A CN 202311731250A CN 117407049 B CN117407049 B CN 117407049B
Authority
CN
China
Prior art keywords
region
node
instruction
responding
issuing
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
CN202311731250.8A
Other languages
English (en)
Other versions
CN117407049A (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.)
Jiajia Technology Co ltd
Original Assignee
Jiajia 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 Jiajia Technology Co ltd filed Critical Jiajia Technology Co ltd
Priority to CN202311731250.8A priority Critical patent/CN117407049B/zh
Publication of CN117407049A publication Critical patent/CN117407049A/zh
Application granted granted Critical
Publication of CN117407049B publication Critical patent/CN117407049B/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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

本申请提出一种应用发布编排方法、装置、设备及存储介质,应用发布编排方法通过响应于第一配置指令,在业务项的生产环境下建立至少一地域,在地域下建立至少一地区集群,响应于第二配置指令,在地区集群下建立服务模块,在服务模块下绑定应用程序包,从而实现应用程序包与地域下的地区集群的关联;响应于发布编排指令,建立与服务模块关联的至少一发布节点,对每一发布节点进行顺序编排,得到顺序编排结果,从而在利用发布节点进行发布时,按照顺序编排结果实现每一地域的应用程序包的顺序发布,可以满足复杂的全球化以及多地的应用程序包发布的复杂场景。

Description

一种应用发布编排方法、装置、设备及存储介质
技术领域
本申请涉及计算机领域,尤其涉及一种应用发布编排方法、装置、设备及存储介质。
背景技术
通常企业有多个软件应用服务,部署在国内多个城市的数据中心甚至海外多个城市的数据中心,目前应用的运维人员通常采用开源Jenkins + Pipeline + 制品仓库,来满足生产环境应用发布的需求,但是Jenkins本身是一条条构建任务配置的,没有包含业务应用架构信息,无法按照分布式架构去编排一个清晰完整的发布任务,并且该方案中是三个独立开源工具的拼凑,只能满足单个应用系统部署等简单场景的需求,在复杂的多应用多环境多地部署等全球化复杂场景下,无法很好的运行,并且无法支持全国或者全球多地的数据中心的配置和应用发布。
发明内容
本申请实施例提供一种应用发布编排方法、装置、设备及存储介质,以解决相关技术存在的至少一个问题,技术方案如下:
第一方面,本申请实施例提供了一种应用发布编排的方法,包括:
响应于第一配置指令,在业务项的生产环境下建立至少一地域,在所述地域下建立至少一地区集群;
响应于第二配置指令,在所述地区集群下建立服务模块,在所述服务模块下绑定应用程序包;
响应于发布编排指令,建立与所述服务模块关联的至少一发布节点,对每一所述发布节点进行顺序编排,得到顺序编排结果;
其中,利用所述发布节点进行发布时,按照所述顺序编排结果实现每一所述地域的所述应用程序包的顺序发布。
在一种实施方式中,所述响应于第一配置指令,在业务的生产环境下建立至少一地域,在所述地域下建立至少一地区集群包括:
响应于第一指令,在业务的生产环境下新建至少一地域节点并确定所述地域节点的地域名称,根据所述地域节点以及所述地域名称,生成至少一地域;
响应于第二指令,在所述地域下从模板中新建至少一集群或者重新新建至少一集群,确定所述集群的名称,根据所述集群以及所述集群的名称,确定至少一地区集群。
在一种实施方式中,所述响应于第二配置指令,在所述地区集群下建立服务模块,在所述服务模块下绑定应用程序包包括:
响应于第三指令,在所述地区集群下新建模块,并配置新建的模块的名称以及所述业务包含的服务分类,得到服务模块;
响应于第四指令,建立应用程序包,配置所述应用程序包的程序包信息,将所述应用程序包绑定至所述服务模块下,所述程序包信息包括名称、类型、唯一标识、版本以及制品库信息。
在一种实施方式中,所述响应于发布编排指令,建立与所述服务模块关联的至少一发布节点,对每一所述发布节点进行顺序编排,得到顺序编排结果包括:
响应于发布指令,在发布任务模板中建立至少一发布节点并配置所述发布节点关联的服务模块;
响应于编排指令,在发布任务模板中对每一所述发布节点进行顺序编排以配置不同发布节点的串行执行或者并行执行顺序,得到顺序编排结果。
在一种实施方式中,所述响应于发布指令,在发布任务模板中建立至少一发布节点并配置所述发布节点关联的服务模块包括:
响应于第五指令,在发布任务模板中建立至少一地域节点并在所述地域节点上显示地域名称;
响应于第六指令,在所述地域节点下建立按顺序排列的至少一发布节点并配置所述发布节点关联的服务模块,确定所述发布节点所在的地区集群的地区名称,在所述发布节点上显示所述地区名称,并在所述发布任务模板上显示所述地域节点与所述发布节点的连接标识。
在一种实施方式中,所述响应于编排指令,在发布任务模板中对每一所述发布节点进行顺序编排以配置不同发布节点的串行执行或者并行执行顺序,得到顺序编排结果包括:
响应于第一编排子指令,配置每一所述地域节点的串行执行顺序,得到第一顺序编排子结果;
响应于第二编排子指令,配置所述地域节点下每一所述发布节点的串行执行或者并行执行顺序,得到第二顺序编排子结果;
其中,所述顺序编排结果包括所述第一顺序编排子结果以及所述第二顺序编排子结果。
在一种实施方式中,所述方法还包括:
响应于第一执行指令,从所述发布节点中选择需要执行的目标发布节点或者从所述地域节点中确定目标地域节点;
响应于第二执行指令,配置每一所述目标发布节点或者所述目标地域节点的目标执行时间。
第二方面,本申请实施例提供了一种应用发布编排装置,包括:
第一响应模块,用于响应于第一配置指令,在业务项的生产环境下建立至少一地域,在所述地域下建立至少一地区集群;
第二响应模块,用于响应于第二配置指令,在所述地区集群下建立服务模块,在所述服务模块下绑定应用程序包;
第三响应模块,用于响应于发布编排指令,建立与所述服务模块关联的至少一发布节点,对每一所述发布节点进行顺序编排,得到顺序编排结果;
其中,利用所述发布节点进行发布时,按照所述顺序编排结果实现每一所述地域的所述应用程序包的顺序发布。
在一种实施方式中,所述第三响应模块还用于:
响应于第一执行指令,从所述发布节点中选择需要执行的目标发布节点或者从所述地域节点中确定目标地域节点;
响应于第二执行指令,配置每一所述目标发布节点或者所述目标地域节点的目标执行时间。
第三方面,本申请实施例提供了一种电子设备,包括:处理器和存储器,该存储器中存储指令,该指令由该处理器加载并执行,以实现上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被执行时实现上述各方面任一种实施方式中的方法。
上述技术方案中的有益效果至少包括:
通过响应于第一配置指令,在业务项的生产环境下建立至少一地域,在地域下建立至少一地区集群,响应于第二配置指令,在地区集群下建立服务模块,在服务模块下绑定应用程序包,从而实现应用程序包与地域下的地区集群的关联;响应于发布编排指令,建立与服务模块关联的至少一发布节点,对每一发布节点进行顺序编排,得到顺序编排结果,从而在利用发布节点进行发布时,按照顺序编排结果实现每一地域的应用程序包的顺序发布,可以满足复杂的全球化以及多地的应用程序包发布的复杂场景。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请一实施例应用发布编排方法的步骤流程示意图;
图2为本申请一实施例业务以及环境的示意图;
图3为本申请一实施例地域的建立示意图;
图4为本申请一实施例集群的建立示意图;
图5为本申请一实施例服务模块的建立示意图;
图6为本申请一实施例程序包信息的示意图;
图7为本申请一实施例服务模块绑定的应用程序包的示意图;
图8为本申请一实施例发布任务模板的第一示意图;
图9为本申请一实施例发布任务模板的第二示意图;
图10为本申请一实施例任务实例的显示页面示意图;
图11为本申请一实施例配置执行时间示意图;
图12为本申请一实施例发布任务完成后的系统页面示意图;
图13为本申请一实施例的应用发布编排装置的结构框图;
图14为本申请一实施例的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
参照图1,示出本申请一实施例的应用发布编排方法的流程图,该应用发布编排方法至少可以包括步骤S100-S400:
S100、响应于第一配置指令,在业务的生产环境下建立至少一地域,在地域下建立至少一地区集群。
S200、响应于第二配置指令,在地区集群下建立服务模块,在服务模块下绑定应用程序包。
S300、响应于发布编排指令,建立与服务模块关联的至少一发布节点,对每一发布节点进行顺序编排,得到顺序编排结果。
其中,利用发布节点进行发布时,按照顺序编排结果实现每一地域的应用程序包的顺序发布。
本申请实施例的应用发布编排方法可以通过计算机、手机、平板等终端的电子控制单元、控制器、处理器等执行,也可以通过云服务器执行。例如可以通过终端或者云服务器中的系统执行该应用发布编排方法。
本申请实施例的技术方案,通过响应于第一配置指令,在业务项的生产环境下建立至少一地域,在地域下建立至少一地区集群,响应于第二配置指令,在地区集群下建立服务模块,在服务模块下绑定应用程序包,从而实现应用程序包与地域下的地区集群的关联;响应于发布编排指令,建立与服务模块关联的至少一发布节点,对每一发布节点进行顺序编排,得到顺序编排结果,从而在利用发布节点进行发布时,按照顺序编排结果实现每一地域的应用程序包的顺序发布,可以满足复杂的全球化以及多地的应用程序包发布的复杂场景。
在一种实施方式中,在步骤S100之前,用户可以通过在系统中输入建立指令,为需要建立的相关业务建立对应的业务项,并可以在业务项下配置开发环境、测试环境以及生产环境。例如如图2所示,可以建立腾讯云业务、华为云业务、阿里云业务等业务项,并在腾讯云业务、华为云业务、阿里云业务等业务项下配置开发环境、测试环境以及生产环境。另外,可以在业务项中配置业务属性,如业务名、时区等基础信息,运维人员、测试人员等等的角色。
需要说明的是,开发环境由开发人员维护,每次开发人员完成一个功能开发之后,都会快速部署到开发环境验证功能是否正常,是否存在bug;测试环境由测试人员维护,开发完成功能开发之后,都要提测,测试人员就会在测试环境进行测试,测试人员主要用于内部人员访问和测试;生产环境指的是真实的使用用户访问应用程序包的正式环境,由测试人员将测试通过的应用程序包部署到生产环境,如果是企业内部系统,那么企业内所有人员可以访问; 如果是外部系统,那么外部C端用户都可以访问,因此生产环境的应用程序包建立、或者应用程序包的版本更新等需要非常慎重。
在一种实施方式中,第一配置指令包括第一指令以及第二指令,步骤S100包括步骤S110-S120:
S110、响应于第一指令,在业务的生产环境下新建至少一地域节点并确定地域节点的地域名称,根据地域节点以及地域名称,生成至少一地域。
需要说明的是,本申请实施例中涉及的各个指令均可以为通过鼠标、键盘、触摸屏等等方式进行操作而生成的指令。可选地,响应于第一指令,在业务的生产环境下新建至少一地域节点,用户可以输入地名地域名称使系统确定地域节点的地域名称,从而根据地域节点以及地域名称,生成至少一地域,从而有利于将环境下的多个地域统一维护,将系统涉及到的地域统一管理和维护起来。例如,如图3所示,在腾讯云业务的生成环境下新建节点(地域节点),然后输入实例名(地名地域):华南地域,点击提交即可以生成地域。可以理解的是,通过上述操作,可以生成至少一地域,例如一个或多个地域。
S120、响应于第二指令,在地域下从模板中新建至少一集群或者重新新建至少一集群,确定集群的名称,根据集群以及集群的名称,确定至少一地区集群。
本申请实施例中,为了实现地域下的集群的统一维护,响应于第二指令,在地域下新建至少一集群,每一地域下可以有一个或多个集群,而在新建集群时可以选择新建的方式并输入确定集群的名称,从而根据集群以及集群的名称,确定至少一地区集群。例如,如图4所示,在华北地域基于第二指令,显示新建集群页面,选择直接新建从而从模板中新建集群或者选择从模板新建,从而从模板中获取事先设置后的集群进行作为新建的集群,并输入集群的名称为:华北北京,从而建立华北北京的地区集群。需要说明的是,通过类似的操作,可以建立华北呼和浩特、华北石家庄、华北太原、华北天津等的地区集群,其中建立的地域或者集群基于实际需要进行应用程序包部署的位而设定,可以为国内的任意地方或者国外的地方,不作具体限定。
在一种实施方式中,第二配置指令包括第三指令以及第四指令,步骤S200包括步骤S210-S220:
S210、响应于第三指令,在地区集群下新建模块,并配置新建的模块的名称以及业务包含的服务分类,得到服务模块。
可选地,响应于第三指令,在地区集群下新建模块,然后配置新建的模块的名称以及业务包含的服务分类,得到服务模块。需要说明的是,例如服务模块对应的业务可以包含订单-tomcat、nginx、mysql、weblogic这些服务、或者为web服务,还是一个http服务,或者是一个数据库服务,就可以在服务分类上设置上述服务中的其中一种,相当于为打上服务标签,区分不同的服务。如果在业务对应的场景是电商的场景,由于服务模块是应用程序包的发布主体,电商的订单系统开发出了程序包的新版本,tomcat、nginx都需要更新到新版本,就是需要更新这些服务模块中新版本。例如,如图5所示,可以在地区集群:华北北京下基于第三指令,显示新建模块的页面,同样可以选择直接新建或者从模板新建,配置新建的模块的名称以及配置服务分类,从而得到服务模块。需要说明的是,在配置地区集群后,每一地区集群具有相应的ID、内网IP等内容,从而系统可以唯一识别到对应的生产环境下的地区集群。
S220、响应于第四指令,建立应用程序包,配置应用程序包的程序包信息,将应用程序包绑定至服务模块下,程序包信息包括名称、类型、唯一标识、版本以及制品库信息。
可选地,响应于第四指令,建立应用程序包,例如可以为相关人员在系统上进行编程生成建立应用程序包或者从本地、云服务器的应用程序包上传至系统中,从而建立应用程序包(简称程序包)。其中,在建立应用程序包后可以配置应用程序包的程序包信息,并将应用程序包绑定至对应的服务模块下。例如,如图6所示,配置的程序包信息可以在程序包详情的页面中查看,程序包信息包括但不限于名称(程序包名称)、类型(jar包、war包、前端包、后台包等等)、唯一标识(用于全局识别程序包的id)、版本、创建者、创建时间、存储应用程序包的制品库的制品库信息(制品库配置:如仓库类型、仓库名,对接artifactory仓库、maven仓库、cpack仓库、jfrog仓库的项目和仓库信息)等,并且在将应用程序包绑定至对应的服务模块后,在程序包详情的页面中还可以查看绑定模块具体有哪些,便于管理。如图7所示,基于CMDB应用拓扑(业务拓扑):“业务-(子系统)-环境-地域-集群-服务模块”,可以选择服务模块绑定的应用程序包实现绑定,一个服务模块可以绑定一个或多个应用程序包,在发布时可以根据绑定的时间将绑定时间最新的应用程序包进行发布,以便能够进行应用程序包的自动化发布,在自动化发布任务的执行过程中,系统能够自动读取到服务模块发布应该用哪个个应用程序包的哪个版本,发布到哪个目标对象如主机或者命名空间中,而无需用户手动选择和输入。
在一些实施例中,业务拓扑也可以为“业务-集群-模块”,而不设置环境。其中,业务层面维护业务系统信息,比如电商业务系统为业务层;子系统就是业务系统之下,小的业务系统,比如电商系统里面:有购物车子系统、支付子系统、订单子系统等;环境就是企业不同环境的维护,比如支付子系统有开发环境、测试环境、生产环境;开发人员完成需求的代码开发后,先部署到开发环境进行自测;开发自测通过之后,流转到测试环境,测试人员进行部署测试,测试通过后,晋级到生产环境,应用运维人员进行生产环境的应用自动化发布。
而地域就是全国/全球的地域分布,开发环境和测试环境一般只在一个地域部署,但是生产环境都会多地域进行部署。比如开发和测试环境只有华南地域,但是生产环境有华南地域、华东地域、华北地域、海外地域等。集群就是在地域下的不同城市,比如生产环境的华南地域有深圳、广州两个集群。集群下是是微服务模块(简称服务模块),比如订单系统在深圳集群下有tomcat、nginx、mysql、rabbitmq等微服务模块,服务模块需要部署到具体的生产环境中。
在一种实施方式中,发布编排指令包括发布指令以及编排指令,步骤S300包括步骤S310-S320:
S310、响应于发布指令,在发布任务模板中建立至少一发布节点并配置发布节点关联的服务模块。
可选地,发布指令包括第五指令以及第六指令,步骤S310包括步骤S3101-S3102:
S3101、响应于第五指令,在发布任务模板中建立至少一地域节点并在地域节点上显示地域名称。
可选地,如图8所示,响应于第五指令,通过第一按键801在发布任务模板中建立至少一地域节点,如地域节点802A、地域节点802B。需要说明的是,初始建立的状态下根据地域节点的建立时间顺序会显示名称为步骤1、步骤2,通过输入地域名称,可以在地域节点上显示地域名称,如图9所示,可以在地域节点802A、地域节点802B上显示地域名称或者显示地域名称加“发布”的文字,如华中地域发布、华南区域发布,从而使操作人员直观地了解到具体需要发布的地域,非常便捷。
S3102、响应于第六指令,在地域节点下建立按顺序排列的至少一发布节点并配置发布节点关联的服务模块,确定发布节点所在的地区集群的地区名称,在发布节点上显示地区名称,并在发布任务模板上显示地域节点与发布节点的连接标识。
可选地,如图8所示,响应于第六指令,可以点击相应的位置第二按键803建立发布节点,例如在地域节点802A下建立按顺序排列的至少一发布节点,例如建立发布节点804A、804B,然后可以配置发布节点关联的服务模块,从而确定发布节点所可以发布的关联的服务模块下的应用程序包。需要说明的是,系统可以确定关联的服务模块所在的地区集群的地区名称或者由操作者确定地区名称,从而对发布节点的名称调整为地区名称,在发布节点上显示地区名称。如图9所示,发布节点804A、804B,显示华中武汉、华中长沙的地区名称,并且在发布任务模板上显示地域节点802A与发布节点804A、804B的连接标识805,便于操作人员了解发布节点与地域节点的关系。
S320、响应于编排指令,在发布任务模板中对每一发布节点进行顺序编排以配置不同发布节点的串行执行或者并行执行顺序,得到顺序编排结果。
可选地,编排指令包括第一编排子指令以及第二编排子指令,顺序编排结果包括第一顺序编排子结果以及第二顺序编排子结果,步骤S320包括步骤S3201-S3202:
S3201、响应于第一编排子指令,配置每一地域节点的串行执行顺序,得到第一顺序编排子结果。
可选地,响应于第一编排子指令,可以配置每一地域节点的串行执行顺序,得到第一顺序编排子结果。例如如图8和9所示,地域节点802A、802B可以在建立时按照发布任务模板提供的第一按键801按照顺序建立地域节点802A、802B,从而确定串行执行顺序为地域节点802A→802B,或者可以通过拖拽调整地域节点的顺序,拖拽的过程中地域节点下每一发布节点会跟随移动,从而确定串行执行顺序为地域节点802A→802B,编排所有的地域节点的顺序即可以得到第一顺序编排子结果。需要说明的是,串行执行顺序指的是下一步依赖上一步成功结束,例如地域节点802A成功结束此时才执行地域节点802B,编排所有的地域节点的顺序即可以得到第一顺序编排子结果。
S3202、响应于第二编排子指令,配置地域节点下每一发布节点的串行执行或者并行执行顺序,得到第二顺序编排子结果。
可选地,响应于第二编排子指令,配置地域节点下每一发布节点的串行执行或者并行执行顺序,得到第二顺序编排子结果。例如,如图8和图9所示,类似地,可以在建立时按照发布任务模板提供的第二按键803按照顺序建立发布节点804A、804B,从而确定串行执行顺序为发布节点804A→804B,或者确定发布节点804A、804B为并行执行顺序即同时执行,确定所有发布节点的串行执行或者并行执行顺序,即得到第二顺序编排子结果。又或者,可以通过拖拽调整发布节点的顺序,从而确定串行执行顺序为804A→804B,而804A、804B为并行执行顺序则可以不调整,编排所有的发布节点的串行执行或者并行执行顺序,即得到第二顺序编排子结果。
在一种实施方式中,本申请实施例的方法还可以包括步骤S510-S520:
S510、响应于第一执行指令,从发布节点中选择需要执行的目标发布节点或者从地域节点中确定目标地域节点。
可选地,操作者配置完成发布任务模板后可以创建任务实例,用于执行发布任务,任务实例的显示页面如图10所示,当操作者需要根据实际情况调整节点的执行时,此时无需删除发布节点或者地域节点,只需要通过操作第一开关按键1001或者第二开关按键1002,即可以实现地域节点或者发布节点的开启或者关闭状态,当处于开启状态时,需要执行该节点,当处于关闭状态时,不需要执行该节点,提高编排的便利性,有利于基于实际情况进行调整,提高效率。需要说明的是,需要执行的执行的目标发布节点以及目标地域节点指的是处于开启状态的节点。
S520、响应于第二执行指令,配置每一目标发布节点或者目标地域节点的目标执行时间。
可选地,当确定需要执行的目标发布节点以及目标地域节点时,可以配置目标地域节点和/或目标发布节点的目标执行时间。例如,如图11所示,配置发布节点、地域节点时可以配置节点信息(相当于步骤编辑):如步骤名称例如地区名称、串行执行或者并行执行顺序即配置步骤类型,配置是否定时,配置定时的定时时间即执行时间,从而确定目标发布节点或者目标地域节点后可以确定目标执行时间,当到达目标执行时间时,执行对应的目标发布节点、目标地域节点,从而实现应用程序包的发布。
需要说明的是,通过设置执行时间可以避免发布后,例如2-3天之后用户投诉有某些地域没有更新,实现自动化发布而避免出现遗漏。
需要说明的是,由于应用发布可能涉及到“大版本发布”,例如一些企业如金融企业内,部分系统之间存在依赖关系,一个重要的功能特性发布,需要多个业务系统配合进行发布,因此通过配置执行时间从而确定一个统一的时间窗口,在这个窗口期内金融企业内多个业务都会统一利用各个目标发布节点进行发布,满足“大版本发布”的需求。
可以理解的是,基于顺序编排结果执行发布任务时,利用需要执行的发布节点进行发布,从而按照顺序编排结果实现每一地域的应用程序包的顺序发布。
本申请实施例中,如图12所示,当各个节点执行发布完成后,会显示相应的执行时间1201(如00:07、00:06等等)以及执行成功的执行标识1201,如果失败会显示执行失败的执行标识。需要说明的是,如果某个节点出现执行失败,系统自动进行回滚;每个地域节点完成发布后,自动暂停,以便应用运维人员进行检查。
需要说明的是,系统提供发布服务和开放接口(openapi)供用户通过nginx代理访问,从而获取发布完成的应用程序包,本申请实施例的发布服务通过分布式部署,使用nginx做轮询访问,不仅保证了应用程序包的高可用部署,即使一台主机异常,服务依然可以正常访问; 同时通过NGINX接入访问,对访问流量进行分担实现降低单点流量峰值,同时可以通过横向扩展支持高性能高并发。同时,发布服务通过相应插件(plugins),访问分布式存储区和不同设备的sdk、API,进行发布操作(主机发布、脚本执行、k8s操作、sql执行、配置文件变更等);针对不同的场景开发了不同的插件plugins来适配不同的对象,屏蔽了技术架构的差异,用户只需要关注对象即可,无需考虑不同架构和技术的细节。插件类型包括:yaml插件、helm插件、标准运维插件、数据库插件、sql插件。
通过本申请实施例的方法,1、将技术上的应用程序包管理、版本管理、发布任务的节点编排和业务系统架构(业务、地域、集群、服务模块)进行关联,将技术架构和业务架构综合到一起,以简化应用程序的部署和管理,提升发布变更效率,以及保障发布变更稳定性;2、使用简便。可以快速接入weblogic、tomcat、docker、云原生应用进行容器化发布;3、制品即应用程序包和业务、服务模块关联,环境、集群关联,因此该制品适用于哪个服务模块、哪个环境的关系明确,有利于满足了全球化分布式管理的要求;相对相关技术中Jenkins和Pipeline,大量的配置和编排需要以代码格式来实现,上手门槛很高,本申请以可视化的方式提供配置和编排,体验佳且上手门槛更低。
需要说明的是,大的应用系统每个区域部署的应用程序包的版本可能不一致,例如可能海外地域版本相比国内地域低一个版本,每个区域版本的版本信息需要单独维护管理;同时,因为版本功能原因,海外地域主要使用oracle数据库,国内使用mysql进行应用程序包的部署和存储,每个区域维护的服务模块的信息不一致,因此需要单独维护管理起来,将程序包信息和服务模块绑定关联起来,将关联关系存储维护起来,并且在关联关系中添加程序包的最新版本和部署版本,将“应用拓扑-介质-版本”在后台存储维护起来实现制品的版本管理。
参照图13,示出了本申请一实施例的应用发布编排装置的结构框图,该装置可以包括:
第一响应模块,用于响应于第一配置指令,在业务项的生产环境下建立至少一地域,在地域下建立至少一地区集群;
第二响应模块,用于响应于第二配置指令,在地区集群下建立服务模块,在服务模块下绑定应用程序包;
第三响应模块,用于响应于发布编排指令,建立与服务模块关联的至少一发布节点,对每一发布节点进行顺序编排,得到顺序编排结果;
其中,利用发布节点进行发布时,按照顺序编排结果实现每一地域的应用程序包的顺序发布。
在一种实施方式中,第三响应模块还用于:
响应于第一执行指令,从发布节点中选择需要执行的目标发布节点或者从地域节点中确定目标地域节点;
响应于第二执行指令,配置每一目标发布节点或者目标地域节点的目标执行时间。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
参照图14,示出了本申请一实施例电子设备的结构框图,该电子设备包括:存储器310和处理器320,存储器310内存储有可在处理器320上运行的指令,处理器320加载并执行该指令实现上述实施例中的应用发布编排方法。其中,存储器310和处理器320的数量可以为一个或多个。
在一种实施方式中,电子设备还包括通信接口330,用于与外界设备进行通信,进行数据交互传输。如果存储器310、处理器320和通信接口330独立实现,则存储器310、处理器320和通信接口330可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(PeripheralComponent Interconnect ,PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture ,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器310、处理器320及通信接口330集成在一块芯片上,则存储器310、处理器320及通信接口330可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的应用发布编排方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行本申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory ,DRAM) 、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”“一些实施例”“示例”“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种应用发布编排方法,其特征在于,包括:
响应于第一配置指令,在业务项的生产环境下建立至少一地域,在所述地域下建立至少一地区集群;所述生产环境为真实使用用户访问应用程序包的正式环境;
响应于第二配置指令,在所述地区集群下建立服务模块,在所述服务模块下绑定应用程序包;
响应于发布编排指令,建立与所述服务模块关联的至少一发布节点,对每一所述发布节点进行顺序编排,得到顺序编排结果;
其中,利用所述发布节点进行发布时,按照所述顺序编排结果实现每一所述地域的所述应用程序包的顺序发布;
所述响应于第一配置指令,在业务项的生产环境下建立至少一地域,在所述地域下建立至少一地区集群包括:
响应于第一指令,在业务项的生产环境下新建至少一地域节点并确定所述地域节点的地域名称,根据所述地域节点以及所述地域名称,生成至少一地域;
响应于第二指令,在所述地域下从模板中新建至少一集群或者重新新建至少一集群,确定所述集群的名称,根据所述集群以及所述集群的名称,确定至少一地区集群;
所述响应于第二配置指令,在所述地区集群下建立服务模块,在所述服务模块下绑定应用程序包包括:
响应于第三指令,在所述地区集群下新建模块,并配置新建的模块的名称以及业务包含的服务分类,得到服务模块;
响应于第四指令,建立应用程序包,配置所述应用程序包的程序包信息,将所述应用程序包绑定至所述服务模块下,所述程序包信息包括名称、类型、唯一标识、版本以及制品库信息;
所述响应于发布编排指令,建立与所述服务模块关联的至少一发布节点,对每一所述发布节点进行顺序编排,得到顺序编排结果包括:
响应于发布指令,在发布任务模板中建立至少一发布节点并配置所述发布节点关联的服务模块;
响应于编排指令,在发布任务模板中对每一所述发布节点进行顺序编排以配置不同发布节点的串行执行或者并行执行顺序,得到顺序编排结果。
2.根据权利要求1所述应用发布编排方法,其特征在于:所述响应于发布指令,在发布任务模板中建立至少一发布节点并配置所述发布节点关联的服务模块包括:
响应于第五指令,在发布任务模板中建立至少一地域节点并在所述地域节点上显示地域名称;
响应于第六指令,在所述地域节点下建立按顺序排列的至少一发布节点并配置所述发布节点关联的服务模块,确定所述发布节点所在的地区集群的地区名称,在所述发布节点上显示所述地区名称,并在所述发布任务模板上显示所述地域节点与所述发布节点的连接标识。
3.根据权利要求2所述应用发布编排方法,其特征在于:所述响应于编排指令,在发布任务模板中对每一所述发布节点进行顺序编排以配置不同发布节点的串行执行或者并行执行顺序,得到顺序编排结果包括:
响应于第一编排子指令,配置每一所述地域节点的串行执行顺序,得到第一顺序编排子结果;
响应于第二编排子指令,配置所述地域节点下每一所述发布节点的串行执行或者并行执行顺序,得到第二顺序编排子结果;
其中,所述顺序编排结果包括所述第一顺序编排子结果以及所述第二顺序编排子结果。
4.根据权利要求2或3所述应用发布编排方法,其特征在于:所述方法还包括:
响应于第一执行指令,从所述发布节点中选择需要执行的目标发布节点或者从所述地域节点中确定目标地域节点;
响应于第二执行指令,配置每一所述目标发布节点或者所述目标地域节点的目标执行时间。
5.一种应用发布编排装置,其特征在于,包括:
第一响应模块,用于响应于第一配置指令,在业务项的生产环境下建立至少一地域,在所述地域下建立至少一地区集群;所述生产环境为真实使用用户访问应用程序包的正式环境;
第二响应模块,用于响应于第二配置指令,在所述地区集群下建立服务模块,在所述服务模块下绑定应用程序包;
第三响应模块,用于响应于发布编排指令,建立与所述服务模块关联的至少一发布节点,对每一所述发布节点进行顺序编排,得到顺序编排结果;
其中,利用所述发布节点进行发布时,按照所述顺序编排结果实现每一所述地域的所述应用程序包的顺序发布;
所述响应于第一配置指令,在业务项的生产环境下建立至少一地域,在所述地域下建立至少一地区集群包括:
响应于第一指令,在业务项的生产环境下新建至少一地域节点并确定所述地域节点的地域名称,根据所述地域节点以及所述地域名称,生成至少一地域;
响应于第二指令,在所述地域下从模板中新建至少一集群或者重新新建至少一集群,确定所述集群的名称,根据所述集群以及所述集群的名称,确定至少一地区集群;
所述响应于第二配置指令,在所述地区集群下建立服务模块,在所述服务模块下绑定应用程序包包括:
响应于第三指令,在所述地区集群下新建模块,并配置新建的模块的名称以及业务包含的服务分类,得到服务模块;
响应于第四指令,建立应用程序包,配置所述应用程序包的程序包信息,将所述应用程序包绑定至所述服务模块下,所述程序包信息包括名称、类型、唯一标识、版本以及制品库信息;
所述响应于发布编排指令,建立与所述服务模块关联的至少一发布节点,对每一所述发布节点进行顺序编排,得到顺序编排结果包括:
响应于发布指令,在发布任务模板中建立至少一发布节点并配置所述发布节点关联的服务模块;
响应于编排指令,在发布任务模板中对每一所述发布节点进行顺序编排以配置不同发布节点的串行执行或者并行执行顺序,得到顺序编排结果。
6.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由所述处理器加载并执行,以实现如权利要求1至4任一项所述的方法。
7.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被执行时实现如权利要求1-4中任一项所述的方法。
CN202311731250.8A 2023-12-15 2023-12-15 一种应用发布编排方法、装置、设备及存储介质 Active CN117407049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311731250.8A CN117407049B (zh) 2023-12-15 2023-12-15 一种应用发布编排方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311731250.8A CN117407049B (zh) 2023-12-15 2023-12-15 一种应用发布编排方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117407049A CN117407049A (zh) 2024-01-16
CN117407049B true CN117407049B (zh) 2024-03-26

Family

ID=89493012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311731250.8A Active CN117407049B (zh) 2023-12-15 2023-12-15 一种应用发布编排方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117407049B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381832A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 自动化部署控制方法、装置、计算机设备及存储介质
CN113253887A (zh) * 2021-06-11 2021-08-13 北京中祥英科技有限公司 应用发布方法、计算机设备及可读存储介质
CN115357280A (zh) * 2022-08-09 2022-11-18 湖南木屋网络科技有限公司 软件版本管理方法、装置、服务器及存储介质
CN115599438A (zh) * 2022-10-28 2023-01-13 中国农业银行股份有限公司(Cn) 应用程序的发布包的构建方法、装置、设备及介质
CN115904352A (zh) * 2022-12-30 2023-04-04 广州品唯软件有限公司 流程编排方法、装置、存储介质和业务流程执行方法
WO2023093197A1 (zh) * 2021-11-24 2023-06-01 华为云计算技术有限公司 一种应用管理方法及相关系统
CN117097785A (zh) * 2022-05-13 2023-11-21 华为云计算技术有限公司 消息发送方法、电子设备及通信系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11868750B2 (en) * 2022-01-28 2024-01-09 Salesforce, Inc. Orchestration of datacenter creation on a cloud platform

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381832A (zh) * 2018-12-29 2020-07-07 广州市百果园信息技术有限公司 自动化部署控制方法、装置、计算机设备及存储介质
CN113253887A (zh) * 2021-06-11 2021-08-13 北京中祥英科技有限公司 应用发布方法、计算机设备及可读存储介质
WO2023093197A1 (zh) * 2021-11-24 2023-06-01 华为云计算技术有限公司 一种应用管理方法及相关系统
CN117097785A (zh) * 2022-05-13 2023-11-21 华为云计算技术有限公司 消息发送方法、电子设备及通信系统
CN115357280A (zh) * 2022-08-09 2022-11-18 湖南木屋网络科技有限公司 软件版本管理方法、装置、服务器及存储介质
CN115599438A (zh) * 2022-10-28 2023-01-13 中国农业银行股份有限公司(Cn) 应用程序的发布包的构建方法、装置、设备及介质
CN115904352A (zh) * 2022-12-30 2023-04-04 广州品唯软件有限公司 流程编排方法、装置、存储介质和业务流程执行方法

Also Published As

Publication number Publication date
CN117407049A (zh) 2024-01-16

Similar Documents

Publication Publication Date Title
CN107370786B (zh) 一种基于微服务架构的通用信息管理系统
KR102317535B1 (ko) 소프트웨어 개발 키트로 데이터 추적을 구현하는 방법 및 시스템
CN110688142B (zh) 应用程序编程接口的发布方法、设备及存储介质
US20180270122A1 (en) Automatic microservice problem detection in enterprise applications
US8321856B2 (en) Supplying software updates synchronously
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
CN104077137A (zh) 集成设计应用
CN111258567B (zh) 服务代码开发处理方法及装置
CN111068328A (zh) 游戏广告配置表格的生成方法、终端设备及介质
CN111427577A (zh) 代码处理方法、装置及服务器
CN114443294B (zh) 大数据服务组件部署方法、系统、终端及存储介质
CN111158730A (zh) 系统更新方法、装置、电子设备和可读存储介质
CN109814957B (zh) 一种用于ios系统的标签添加方法和装置
CN109144843A (zh) 测试环境部署的方法和装置
CN113296796A (zh) 项目发布方法、装置、系统、存储介质、电子设备
CN114968406A (zh) 一种插件管理方法、装置、电子设备及存储介质
CN117407049B (zh) 一种应用发布编排方法、装置、设备及存储介质
CN112241367A (zh) 一种数据线测试方法和装置
CN114564854B (zh) 支持fmea双向关系树的数据节点的操作方法及设备
CN110244934B (zh) 产品需求文档、测试信息的生成方法及装置
CN111382953A (zh) 一种动态流程生成方法和装置
CN114936152A (zh) 应用测试方法及设备
CN113377468B (zh) 一种脚本执行方法、装置、电子设备及存储介质
KR102597248B1 (ko) 계량데이터 통합관리시스템
CN113806327A (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