CN115801873A - 服务发布方法、系统、电子设备及存储介质 - Google Patents
服务发布方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115801873A CN115801873A CN202211429512.0A CN202211429512A CN115801873A CN 115801873 A CN115801873 A CN 115801873A CN 202211429512 A CN202211429512 A CN 202211429512A CN 115801873 A CN115801873 A CN 115801873A
- Authority
- CN
- China
- Prior art keywords
- service
- release
- request
- publishing
- approval
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种服务发布方法、系统、电子设备及存储介质,本方法接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验;响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。本申请解决相关技术中服务发布系统操作复杂、发版效率较低的技术问题,实现服务发布基本无需运维介入,大大降低了运维成本,同时提高发布准确性和规范性。
Description
技术领域
本申请属于计算机技术领域,具体而言,涉及一种服务发布方法、系统、电子设备及存储介质。
背景技术
随着互联网的不断发展,服务化已经变成一种趋势。研发人员在日常开发过成中,需要频繁的对集成测试环境、预发布环境、生产环境进行版本发布,这个对于运维手动操作存在巨大的工作量,而且手动操作难免会有错误。相关技术中的服务发布系统操作复杂,发版效率较低。
针对相关技术中服务发布系统操作复杂、发版效率较低的技术问题,目前尚未提出有效的解决方案。
发明内容
因此,本申请实施例在于提供一种服务发布方法、系统、电子设备及存储介质,旨在解决上述现有技术存在的至少一个问题。
为实现上述目的,第一方面,本申请提供了一种服务发布方法,包括:
接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;
响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;
响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;
响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
在一个实施例中,所述提交信息包括所述服务的环境、服务名称、版本以及对应的发布内容和发布策略,所述发布内容包括所述服务的发布类型、所述服务的SQL更新选择、工单地址以及修复内容,所述发布策略包括所述服务的发布触发模式,所述触发模式包括定时执行和立即发布;所述发布消息包括所述修复内容和所述服务的新功能。
在一个实施例中,所述对所述服务发布请求对应的提交信息进行信息校验包括:校验所述服务的环境、服务名称和版本是否符合预设规则;若符合预设规则,则根据所述服务的环境和服务名称校验所述服务是否存在,若存在,则校验所述服务的版本是否存在,若存在,则校验所述版本是否高于历史版本,若是,则校验通过。
在一个实施例中,还包括:响应于所述审批流程审批未通过,终止所述服务发布请求,并发送通知消息至所述服务发布请求对应的提交人。
在一个实施例中,还包括:响应于所述服务发布失败,发送通知消息至运维值班人员;响应于接收到所述运维值班人员操作完成对所述服务的发布,发送发布消息至预设人员,触发所述服务对应环境的自动化测试。
在一个实施例中,在发送通知消息时,通过即时通讯工具进行消息发送。
第二方面,本申请还提供了一种服务发布系统,包括:
请求接收单元,用于接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;
流程创建单元,用于响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;
服务发布单元,用于响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;
消息通知单元,用于响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
在一个实施例中,所述提交信息包括所述服务的环境、服务名称、版本以及对应的发布内容和发布策略,所述发布内容包括所述服务的发布类型、所述服务的SQL更新选择、工单地址以及修复内容,所述发布策略包括所述服务的发布触发模式,所述触发模式包括定时执行和立即发布;所述发布消息包括所述修复内容和所述服务的新功能。
第三方面,本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述服务发布方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述服务发布方法的步骤。
本申请实施例提供的一种服务发布方法、系统、电子设备及存储介质,通过接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。解决了相关技术中服务发布系统操作复杂、发版效率较低的技术问题,实现了以下有益效果:实现了服务发布基本无需运维介入,大大降低了运维成本,同时提高发布准确性和规范性。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的服务发布方法的实现流程;
图2为本申请实施例提供的服务发布方法的主要处理流程图;
图3为本申请实施例提供的服务发布方法应用的服务发布系统的前端界面示意图;
图4为本申请实施例提供的服务发布方法的发布信息单据的示意图;
图5为本申请实施例提供的服务发布方法的审批流转的示意图;
图6为本申请实施例提供的服务发布方法的发布内容通知示意图;
图7为本申请实施例提供的服务发布系统的主要模块示意图;
图8为本申请实施例提供的可以应用于其中的示例性系统架构图;
图9为适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
另外,术语“多个”的含义应为两个以及两个以上。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本申请实施例提供的一种服务发布方法的实现流程,图2示出了本申请实施例提供的服务发布方法的主要处理流程图,为了便于说明,仅示出与本申请实施例相关的部分,详述如下:
一种服务发布方法,包括以下步骤:
S101:接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;
S102:响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;
S103:响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;
S104:响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
在步骤S101中:接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的。当接收到服务发布请求的时候,可以获取到服务发布请求对应的待发布服务的详细提交信息,比如可以是服务的版本、服务名称、环境、发布内容等信息,在获取到相关信息后,对服务发布请求对应的发布服务的提交信息进行校验,看该提交信息是否正确、是否符合相关规定、是否真实等。在这里,校验的规则可以预先基于实际项目需求进行设定,以实现自动化的检验。
需要说明的是,服务发布请求可以是研发人员或者服务发布者在服务发布系统进行创建提交的,服务发布系统提供了研发人员或者服务发布者编辑服务发布信息的前端用户界面,研发人员或者服务发布者可以直接在该前端用户界面进行服务发布信息编辑并提交。
示例性的,服务发布系统的前端界面可以基于Vue框架搭建,后端可以基于python的Django框架开发。前端界面可以包括待发布服务的环境(测试环境、预发布环境、生产环境等)、服务名称、版本(待发布服务的版本信息)、发布内容(待发布服务的新增内容、修复内容,SQL是否更新、发布类型、工单地址等信息)、发布策略(触发方式,包括定时执行和立即发布两种方式)等信息的编辑。例如,服务发布系统的前端编辑界面可以设计为如图3所示的示例,图3示出了服务发布系统的前端界面示意图。由此,研发人员或者服务发布者可以直接在服务发布系统的前端界面进行可视化的服务发布信息编辑并且提交服务发布请求。
在一个实施例中,所述提交信息包括所述服务的环境、服务名称、版本以及对应的发布内容和发布策略,所述发布内容包括所述服务的发布类型、所述服务的SQL更新选择、工单地址以及修复内容,所述发布策略包括所述服务的发布触发模式,所述触发模式包括定时执行和立即发布;所述发布消息包括所述修复内容和所述服务的新功能。
在这里,研发人员或者服务发布者在前端界面编辑的服务发布信息提交后生成的服务发布请求,其中的提交信息对应为研发人员编辑服务发布信息时编辑的信息,比如,可以包括待发布服务的环境(测试环境、预发布环境、生产环境等)、服务名称、版本(待发布服务的版本信息)以及对应的发布内容(待发布服务的新增内容、修复内容,SQL是否更新、发布类型、工单地址等信息)、发布策略(触发方式,包括定时执行和立即发布两种方式)等信息。
需要说明的是,研发人员可以一次编辑多个服务进行发布,然后提交服务发布请求时,以服务列表的形式进行提交。
在一个实施例中,所述对所述服务发布请求对应的提交信息进行信息校验包括:校验所述服务的环境、服务名称和版本是否符合预设规则;若不符合预设规则,则校验失败,提示提交者校验失败信息;若符合预设规则,则根据所述服务的环境和服务名称校验所述服务是否存在,若不存在,则校验失败,提示提交者校验失败信息;若存在,则校验所述服务的版本是否存在,若不存在,则校验失败,提示提交者校验失败信息,若存在,则校验所述版本是否高于历史版本,若是,则校验通过,若否,则校验失败,提示提交者校验失败信息。由此,可以检查所述提交信息的规范性以及所述服务的版本真实性。具体的,对所述服务的环境、服务名称和版本的校验是否符合预设规则,预设规则可以是对服务依赖的服务环境(如测试环境、发布环境、生产环境)预先设定以及对服务的名称和版本的命名规则进行预设,然后基于预设的条件对提交信息对应的服务的环境、服务名称和版本进行规则匹配进而判断是否合规。
需要说明的是,可以将所有服务预先进行容器化,例如,可以是运行在kubernetes容器集群中的pod资源,因此服务发布中的服务指的就是dep l oyment(部署)生成的pod资源。通过kubernetes API(应用程序接口)修改预先dep l oyment(部署)的镜像版本来实现服务的更新。因此,当对所述服务的环境、服务名称和版本的规则校验通过后,可以用所提交的环境、服务名称通过Kubernetes的API在预先部署的服务镜像资源中校验对应的服务是否存在,若存在,则通过Kubernetes的API校验提交的版本是否存在,若存在,则校验所述版本是否高于历史版本,若是,则校验通过。在这里,可以用提交的版本和对应服务的镜像地址,通过harbor api校验所提交的服务版本是否存在。
在步骤S102中:响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程。当服务发布请求对应的提交信息校验通过后,通过预设模板创建发布信息单据以及基于预设审批流规则创建审批流程。
示例性的,预设模板可以由实际需求进行设定,例如,如图4为本申请实施例提供的服务发布方法的发布信息单据的示意图,信息单据的内容可以包括:服务发布的创建人、创建时间和发布类型,以及发版详情。发版详情可以包括:发布类型详情,如:发版类型、修复内容、工单地址、环境、服务名、线上版本、提交版本、发布版本、状态等。
示例性的,预设审批流规则可以有实际情况进行预先映射设定,比如哪类服务发布需要哪个层级、哪些相关部门的人员进行审批,关联相关人员即可。例如,如图5为本申请实施例提供的服务发布方法的审批流转的示意图,某服务发布的服务发布请求的审批,整个审批流可以包括:发起人提交-DBA(数据库管理员)审批-运维部相关人员审批-其他关联部门审批,待全部流程审批完成后自动执行已完成。
在步骤S103中:响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布。当所有审批流程的所有审批节点审批通过后,自动执行已完成,然后响应于已完成消息触发,对所述服务发布请求对应的服务进行发布。另外,当响应于所述审批流程审批未通过时,终止所述服务发布请求,并发送通知消息至所述服务发布请求对应的提交人。即,当审批流程中的某一节点审批未通过时,直接终止服务发布,并发送通知消息至所述服务发布请求对应的提交人。此时,服务发布请求流程将退回至提交人节点,提交人可以在服务发布系统的前端界面对服务发布的信息进行修改后重新提交服务发布请求,以提高提交人的编辑效率。
在步骤S104中:响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
在一个实施例中,还包括:响应于所述服务发布失败,发送通知消息至运维值班人员;响应于接收到所述运维值班人员操作完成对所述服务的发布,发送发布消息至预设人员,触发所述服务对应环境的自动化测试。
在一个实施例中,在发送通知消息时,通过即时通讯工具进行消息发送。
在这里,如图6为本申请实施例提供的服务发布方法的发布内容通知示意图,当服务发布成功后,可以通过即时通讯工具(I M)发送通知消息至所有预设人员(即服务提交人、审批流程所有节点人员);同时,当服务发布成功后进行自动化测试时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。在这里,即时通讯工具可以选择飞书、企业微信等工具,通过飞书、企业微信的I M进行相关通知。
具体的,如图2所示,当有服务需要发版时,研发人员可在前端界面提交发布信息,然后基于研发人员提交的发布信息,先检查提交信息的规范性,其次检查提交的服务和版本的真实性,待检查通过后保存研发的提交信息,并且创建第三方的审批信息进行审批流转,如果审批被驳回了,则通知提交人并终止发布流程;如果审批通过了,则通过自动执行发布服务发版,若发布失败,则通知运维人员,由运维人员手动发版,如果发布成功了,则通过飞书、企业微信等I M向全员发送发布内容的通知,且同步出发对应环境的自动化测试,待测试完成后通知对应的测试人员进行测试结果确认。
由此,本申请实施例提供的服务发布方法,通过接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。解决了相关技术中服务发布系统操作复杂、发版效率较低的技术问题,实现了服务发布基本无需运维介入,大大降低了运维成本,同时提高发布准确性和规范性。
图7示出了本申请实施例提供的服务发布系统的主要模块示意图,为了便于说明,仅示出与本申请实施例相关的部分,详述如下:
一种服务发布系统200,包括:
请求接收单元201,用于接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;
流程创建单元202,用于响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;
服务发布单元203,用于响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;
消息通知单元204,用于响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
对于请求接收单元201,用于接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的。当接收到服务发布请求的时候,可以获取到服务发布请求对应的待发布服务的详细提交信息,比如可以是服务的版本、服务名称、环境、发布内容等信息,在获取到相关信息后,对服务发布请求对应的发布服务的提交信息进行校验,看该提交信息是否正确、是否符合相关规定、是否真实等。在这里,校验的规则可以预先基于实际项目需求进行设定,以实现自动化的检验。
需要说明的是,服务发布请求可以是研发人员或者服务发布者在服务发布系统进行创建提交的,服务发布系统提供了研发人员或者服务发布者编辑服务发布信息的前端用户界面,研发人员或者服务发布者可以直接在该前端用户界面进行服务发布信息编辑并提交。
示例性的,服务发布系统的前端界面可以基于Vue框架搭建,后端可以基于python的Django框架开发。前端界面可以包括待发布服务的环境(测试环境、预发布环境、生产环境等)、服务名称、版本(待发布服务的版本信息)、发布内容(待发布服务的新增内容、修复内容,SQL是否更新、发布类型、工单地址等信息)、发布策略(触发方式,包括定时执行和立即发布两种方式)等信息的编辑。例如,服务发布系统的前端编辑界面可以设计为如图3所示的示例,图3示出了服务发布系统的前端界面示意图。由此,研发人员或者服务发布者可以直接在服务发布系统的前端界面进行可视化的服务发布信息编辑并且提交服务发布请求。
在一个实施例中,所述提交信息包括所述服务的环境、服务名称、版本以及对应的发布内容和发布策略,所述发布内容包括所述服务的发布类型、所述服务的SQL更新选择、工单地址以及修复内容,所述发布策略包括所述服务的发布触发模式,所述触发模式包括定时执行和立即发布;所述发布消息包括所述修复内容和所述服务的新功能。
在这里,研发人员或者服务发布者在前端界面编辑的服务发布信息提交后生成的服务发布请求,其中的提交信息对应为研发人员编辑服务发布信息时编辑的信息,比如,可以包括待发布服务的环境(测试环境、预发布环境、生产环境等)、服务名称、版本(待发布服务的版本信息)以及对应的发布内容(待发布服务的新增内容、修复内容,SQL是否更新、发布类型、工单地址等信息)、发布策略(触发方式,包括定时执行和立即发布两种方式)等信息。
需要说明的是,研发人员可以一次编辑多个服务进行发布,然后提交服务发布请求时,以服务列表的形式进行提交。
在一个实施例中,所述对所述服务发布请求对应的提交信息进行信息校验包括:校验所述服务的环境、服务名称和版本是否符合预设规则;若不符合预设规则,则校验失败,提示提交者校验失败信息;若符合预设规则,则根据所述服务的环境和服务名称校验所述服务是否存在,若不存在,则校验失败,提示提交者校验失败信息;若存在,则校验所述服务的版本是否存在,若不存在,则校验失败,提示提交者校验失败信息,若存在,则校验所述版本是否高于历史版本,若是,则校验通过,若否,则校验失败,提示提交者校验失败信息。由此,可以检查所述提交信息的规范性以及所述服务的版本真实性。具体的,对所述服务的环境、服务名称和版本的校验是否符合预设规则,预设规则可以是对服务依赖的服务环境(如测试环境、发布环境、生产环境)预先设定以及对服务的名称和版本的命名规则进行预设,然后基于预设的条件对提交信息对应的服务的环境、服务名称和版本进行规则匹配进而判断是否合规。
需要说明的是,所有服务都已经预先进行容器化了,可以是运行在kubernetes容器集群中的pod资源,所以服务发布中的服务指的就是dep l oyment(部署)生成的pod资源。通过kubernetes api(应用程序接口)修改预先dep l oyment(部署)的镜像版本来实现服务的更新。因此,当对所述服务的环境、服务名称和版本的规则校验通过后,可以用所提交的环境、服务名称通过Kubernetes的API在预先部署的服务镜像资源中校验对应的服务是否存在,若存在,则通过Kubernetes的API校验提交的版本是否存在,若存在,则校验所述版本是否高于历史版本,若是,则校验通过。在这里,可以用提交的版本和对应服务的镜像地址,通过harbor api校验所提交的服务版本是否存在。
对于流程创建单元202,用于响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程。当服务发布请求对应的提交信息校验通过后,通过预设模板创建发布信息单据以及基于预设审批流规则创建审批流程。
示例性的,预设模板可以由实际需求进行设定,例如,如图4为本申请实施例提供的服务发布方法的发布信息单据的示意图,信息单据的内容可以包括:服务发布的创建人、创建时间和发布类型,以及发版详情。发版详情可以包括:发布类型详情,如:发版类型、修复内容、工单地址、环境、服务名、线上版本、提交版本、发布版本、状态等。
示例性的,预设审批流规则可以有实际情况进行预先映射设定,比如哪类服务发布需要哪个层级、哪些相关部门的人员进行审批,关联相关人员即可。例如,如图5为本申请实施例提供的服务发布方法的审批流转的示意图,某服务发布的服务发布请求的审批,整个审批流可以包括:发起人提交-DBA(数据库管理员)审批-运维部相关人员审批-其他关联部门审批,待全部流程审批完成后自动执行已完成。
对于服务发布单元203,用于响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布。当所有审批流程的所有审批节点审批通过后,自动执行已完成,然后响应于已完成消息触发,对所述服务发布请求对应的服务进行发布。另外,当响应于所述审批流程审批未通过时,终止所述服务发布请求,并发送通知消息至所述服务发布请求对应的提交人。即,当审批流程中的某一节点审批未通过时,直接终止服务发布,并发送通知消息至所述服务发布请求对应的提交人。此时,服务发布请求流程将退回至提交人节点,提交人可以在服务发布系统的前端界面对服务发布的信息进行修改后重新提交服务发布请求,以提高提交人的编辑效率。
对于消息通知单元204,用于响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
在一个实施例中,还包括:响应于所述服务发布失败,发送通知消息至运维值班人员;响应于接收到所述运维值班人员操作完成对所述服务的发布,发送发布消息至预设人员,触发所述服务对应环境的自动化测试。
在一个实施例中,在发送通知消息时,通过即时通讯工具进行消息发送。
在这里,如图6为本申请实施例提供的服务发布方法的发布内容通知示意图,当服务发布成功后,可以通过即时通讯工具(I M)发送通知消息至所有预设人员(即服务提交人、审批流程所有节点人员);同时,当服务发布成功后进行自动化测试时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。在这里,即时通讯工具可以选择飞书、企业微信等工具,通过飞书、企业微信的I M进行相关通知。
具体的,如图2所示,当有服务需要发版时,研发人员可在前端界面提交发布信息,然后基于研发人员提交的发布信息,先检查提交信息的规范性,其次检查提交的服务和版本的真实性,待检查通过后保存研发的提交信息,并且创建第三方的审批信息进行审批流转,如果审批被驳回了,则通知提交人并终止发布流程;如果审批通过了,则通过自动执行发布服务发版,若发布失败,则通知运维人员,由运维人员手动发版,如果发布成功了,则通过飞书、企业微信等I M向全员发送发布内容的通知,且同步出发对应环境的自动化测试,待测试完成后通知对应的测试人员进行测试结果确认。
由此,本申请实施例提供的服务发布系统,解决了相关技术中服务发布系统操作复杂、发版效率较低的技术问题,实现了服务发布基本无需运维介入,大大降低了运维成本,同时提高发布准确性和规范性。
本申请实施例还提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本申请实施例的服务发布方法。
本申请实施例还提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本申请实施例的服务发布方法。
图8示出了可以应用本申请实施例的服务发布方法或系统的示例性系统架构300。
如图8所示,系统架构300可以包括终端设备301、302、303,网络304和服务器305。网络304用以在终端设备301、302、303和服务器305之间提供通信链路的介质。网络304可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备301、302、303通过网络304与服务器305交互,以接收或发送消息等。终端设备301、302、303上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备301、302、303可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器305可以是提供各种服务的服务器,例如对用户利用终端设备301、302、303所发送的往来消息提供支持的后台管理服务器。后台管理服务器可以在接收到终端设备请求后进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本申请实施例所提供的服务发布方法一般由终端设备301、302、303或服务器305执行,相应地,服务发布系统一般设置于终端设备301、302、303或服务器305中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本申请实施例的电子设备的计算机系统400的结构示意图。图9示出的计算机系统仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机系统400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括确定模块、提取模块、训练模块和筛选模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,确定模块还可以被描述为“确定候选用户集的模块”。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种服务发布方法,其特征在于,包括:
接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;
响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;
响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;
响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
2.根据权利要求1所述的服务发布方法,其特征在于,所述提交信息包括所述服务的环境、服务名称、版本以及对应的发布内容和发布策略,所述发布内容包括所述服务的发布类型、所述服务的SQL更新选择、工单地址以及修复内容,所述发布策略包括所述服务的发布触发模式,所述触发模式包括定时执行和立即发布;所述发布消息包括所述修复内容和所述服务的新功能。
3.根据权利要求2所述的服务发布方法,其特征在于,所述对所述服务发布请求对应的提交信息进行信息校验包括:校验所述服务的环境、服务名称和版本是否符合预设规则;若符合预设规则,则根据所述服务的环境和服务名称校验所述服务是否存在,若存在,则校验所述服务的版本是否存在,若存在,则校验所述版本是否高于历史版本,若是,则校验通过。
4.根据权利要求1所述的服务发布方法,其特征在于,还包括:响应于所述审批流程审批未通过,终止所述服务发布请求,并发送通知消息至所述服务发布请求对应的提交人。
5.根据权利要求1所述的服务发布方法,其特征在于,还包括:响应于所述服务发布失败,发送通知消息至运维值班人员;响应于接收到所述运维值班人员操作完成对所述服务的发布,发送发布消息至预设人员,触发所述服务对应环境的自动化测试。
6.根据权利要求1-5任一项所述的服务发布方法,其特征在于,在发送通知消息时,通过即时通讯工具进行消息发送。
7.一种服务发布系统,其特征在于,包括:
请求接收单元,用于接收服务发布请求,对所述服务发布请求对应的提交信息进行信息校验,所述服务发布请求是由研发人员在服务发布系统界面创建提交的;
流程创建单元,用于响应于校验通过,创建信息发布单据以及基于预设审批流规则创建所述服务发布请求对应的审批流程;
服务发布单元,用于响应于所述审批流程的所有审批节点审批通过,对所述服务发布请求对应的服务进行发布;
消息通知单元,用于响应于所述服务发布成功,发送发布消息至预设人员,触发所述服务对应环境的自动化测试,当所述自动化测试执行时,发送测试执行消息至所述服务发布请求对应的提交人,待所述自动化测试完成后发送测试结果通知消息至对应测试人员进行确认。
8.根据权利要求7所述的服务发布系统,其特征在于,所述提交信息包括所述服务的环境、服务名称、版本以及对应的发布内容和发布策略,所述发布内容包括所述服务的发布类型、所述服务的SQL更新选择、工单地址以及修复内容,所述发布策略包括所述服务的发布触发模式,所述触发模式包括定时执行和立即发布;所述发布消息包括所述修复内容和所述服务的新功能。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至6中任一项所述的服务发布方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至6中任一项所述的服务发布方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211429512.0A CN115801873A (zh) | 2022-11-15 | 2022-11-15 | 服务发布方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211429512.0A CN115801873A (zh) | 2022-11-15 | 2022-11-15 | 服务发布方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115801873A true CN115801873A (zh) | 2023-03-14 |
Family
ID=85437922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211429512.0A Pending CN115801873A (zh) | 2022-11-15 | 2022-11-15 | 服务发布方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801873A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909933A (zh) * | 2023-09-12 | 2023-10-20 | 云账户技术(天津)有限公司 | 一种流水线式功能服务的发布方法、装置、设备及介质 |
-
2022
- 2022-11-15 CN CN202211429512.0A patent/CN115801873A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116909933A (zh) * | 2023-09-12 | 2023-10-20 | 云账户技术(天津)有限公司 | 一种流水线式功能服务的发布方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109446099A (zh) | 自动化测试用例生成方法、装置、介质及电子设备 | |
CN105739968B (zh) | 基于分布式版本控制系统Git的更新内容的评审方法和装置 | |
CN110597888B (zh) | 基于区块链的虚拟资源获取方法及装置、介质、设备 | |
CN111126948A (zh) | 用于审批流程的处理方法和装置 | |
CN110019158A (zh) | 一种监控数据质量的方法和装置 | |
CN113361838A (zh) | 业务风控方法、装置、电子设备和存储介质 | |
CN111770128B (zh) | 一种消息管理方法和装置 | |
CN111984234A (zh) | 一种处理工单的方法和装置 | |
CN115801873A (zh) | 服务发布方法、系统、电子设备及存储介质 | |
CN112817562A (zh) | 业务处理的方法和装置 | |
CN110223179A (zh) | 资金的数据处理方法、装置、系统、介质 | |
CN110070394A (zh) | 数据处理方法、系统、介质和计算设备 | |
CN113780969A (zh) | 一种海关申报方法和系统 | |
CN116362216A (zh) | 表单数据处理的方法、装置、电子设备和存储介质 | |
CN113312900A (zh) | 数据校验的方法和装置 | |
CN111178823B (zh) | 居住相关事务的取消方法和装置 | |
CN114170027A (zh) | 公积金缴存账户的处理方法、装置、电子设备和存储介质 | |
CN113011858A (zh) | 审计项目配置、执行方法和装置 | |
CN112884427A (zh) | 一种支持多服务来源的流程管理方法及装置 | |
CN113448960A (zh) | 一种导入表格文件的方法和装置 | |
CN113360365A (zh) | 一种流程测试方法和流程测试系统 | |
CN113253991A (zh) | 任务可视化处理方法及装置、电子设备、存储介质 | |
CN112783753B (zh) | 流数据处理系统的测试方法和装置 | |
CN111126937B (zh) | 选房事务处理方法和装置 | |
CN111882294B (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 |