CN114416164A - 软件发布方法、装置、电子设备及存储介质 - Google Patents
软件发布方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114416164A CN114416164A CN202111615392.9A CN202111615392A CN114416164A CN 114416164 A CN114416164 A CN 114416164A CN 202111615392 A CN202111615392 A CN 202111615392A CN 114416164 A CN114416164 A CN 114416164A
- Authority
- CN
- China
- Prior art keywords
- release
- node
- state
- verification
- target version
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 128
- 238000012795 verification Methods 0.000 claims description 145
- 238000004590 computer program Methods 0.000 claims description 13
- 239000000126 substance Substances 0.000 claims 1
- 230000006855 networking Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开公开了软件发布方法、装置、电子设备及存储介质,具体涉车联网和智能座舱技术领域,尤其涉及软件发布方法、装置、电子设备及存储介质。方案为:响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新当前版本;按照软件对应的发布任务链对目标版本以及所述增量配置信息进行处理,以获取发布任务链中各个发布任务节点的处理状态;根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。由此,节约了发布时间、提高发布效率和正确率。
Description
技术领域
本公开涉及人工智能技术领域,具体涉及车联网和智能座舱技术领域,尤其涉及软件发布方法、装置、电子设备及存储介质。
背景技术
随着软件行业的日益发展壮大,软件的数量越来越多,软件的种类也越来越多,为了保证软件对用户的粘性,通常情况下,各类软件(如,车机端软件)都会定期或不定期更新软件版本,即发布一个新版本的软件,使得用户使用该新版本的软件,以替代旧版本的软件。
发明内容
本公开提供了一种用于软件发布方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种软件发布方法,包括:响应于待发布软件的发布指令,获取所述软件的目标版本及所述目标版本相对于当前版本的增量配置信息;其中,所述目标版本,用于更新所述当前版本;按照所述软件对应的发布任务链对所述目标版本以及所述增量配置信息进行处理,以获取所述发布任务链中各个发布任务节点的处理状态;根据所述发布任务链中各个发布任务节点的处理状态,确定所述目标版本的发布状态。
根据本公开的另一方面,提供了一种软件发布装置,包括:获取模块,用于响应于待发布软件的发布指令,获取所述软件的目标版本及所述目标版本相对于当前版本的增量配置信息;其中,所述目标版本,用于更新所述当前版本;处理模块,用于按照所述软件对应的发布任务链对所述目标版本以及所述增量配置信息进行处理,以获取所述发布任务链中各个发布任务节点的处理状态;确定模块,用于根据所述发布任务链中各个发布任务节点的处理状态,确定所述目标版本的发布状态。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开上述一方面提出的软件发布方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开上述一方面提出的软件发布方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的软件发布方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例一所提供的软件发布方法的流程示意图;
图2为本公开实施例二所提供的软件发布方法的流程示意图;
图3为本公开实施例三所提供的软件发布方法的流程示意图;
图4为本公开实施例四所提供的软件发布方法的流程示意图;
图5为本公开实施例五所提供的软件发布装置的结构示意图;
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,在软件发布的时候,通常会涉及到较多的操作步骤的执行,比如,撰写发布通知文档、确认待发布的代码版本号与发布列表中最新版本号是否一致等。
但是,由于发布过程中,操作步骤的执行通常为人工处理,比如,人工撰写发布通知文档、人工记忆待发布的代码版本号,并与发布列表中最新版本号进行验证,因此,导致发布过程中错误率较高,发布效率降低。
针对上述问题,本公开提出一种软件发布方法、装置、电子设备及存储介质。
下面参考附图描述本公开实施例的软件发布方法、装置、电子设备和存储介质。
图1为本公开实施例一所提供的软件发布方法的流程示意图。
本公开实施例以该软件发布方法被配置于软件发布装置中来举例说明,该软件发布装置可以应用于任一电子设备中,以使该电子设备可以执行软件发布功能。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(PersonalComputer,简称PC)、移动终端等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该软件发布方法可以包括以下步骤:
步骤101,响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新当前版本。
在本公开实施例中,为响应新的需求或者修改新发现的问题,开发人员需要对软件进行升级,这样就会产生目标版本(新的版本)。目标版本相对于当前版本而言,其应用性能可能更好,是开发人员对当前版本进行优化后的版本。目标版本可用于更新当前版本。
在发布人员点击发布指令时,可下载待发布软件的目标版本,并获取目标版本的版本号以及目标版本相对于当前版本的增量配置信息。在本公开实施例中,
为了便于后续目标版本的版本号的使用以及避免人工记忆导致的版本号记录错误,可将目标版本的版本号进行复制和保存,比如,将目标版本的版本号复制到剪切板中进行保存。
步骤102,按照软件对应的发布任务链对目标版本以及增量配置信息进行处理,以获取发布任务链中各个发布任务节点的处理状态。
在本公开实施例中,软件发布过程中,涉及到较多的操作步骤的执行,可将多个操作步骤作为发布任务链中的多个发布任务节点,每个操作步骤作为一个发布任务节点。每个发布任务节点可对目标版本以及增量配置信息处理,并生成对应发布任务节点的处理状态。其中,各个发布任务节点的处理状态可包括:验证通过或验证不通过。
步骤103,根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。
在本公开实施例中,各个发布任务节点的处理状态均为验证通过时,可对目标版本进行发布,目标版本的发布状态为发布成功,在各个发布任务节点的处理状态为验证未通过时,可确定目标版本的发布状态为发布失败。
综上,通过在发布任务链中的各个发布任务节点对目标版本以及增量配置信息进行自动处理,并且根据各个发布任务节点的处理状态,确定目标版本的最终的发布状态,由此,节约了发布时间、提高发布效率和正确率。
为了清楚地说明本公开实施例如何按照软件对应的发布任务链对目标版本以及所述软件的增量配置信息进行处理,以获取软件在发布任务链中各个发布任务节点的处理状态,如图2所示,图2为本公开实施例二所提供的软件发布方法的流程示意图,作为一种示例,对于发布任务链中的除首个之外的任一发布任务节点,可在该任一发布任务节点的前一个发布任务节点的处理状态为验证通过的情况下,采用任一发布任务节点对目标版本以及所述增量配置信息进行处理。图2所示实施例可包括如下步骤:
步骤201,响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新当前版本。
步骤202,针对发布任务链中的除首个之外的任一发布任务节点,获取任一发布任务节点的前一个发布任务节点的处理状态。
在本公开实施例中,发布任务链中各个发布任务节点可包括以下节点中的至少一种:发布内容验证节点、预览发布节点、预览验证节点、发布节点和发布验证节点。
在本公开实施例中,可依次采用发布任务链中的各个发布任务节点的对目标版本以及增量配置信息进行处理,在发布任务链中的除首个之外的任一发布任务节点对目标版本以及增量配置信息进行处理时,可获取该任一发布任务节点的前一个发布任务节点的处理状态。
比如,在预览发布节点在对目标版本以及增量配置信息进行处理时,可获取发布内容验证节点的处理状态,同理,在预览验证节点对目标版本以及增量配置信息进行处理时,可获取预览发布节点的处理状态,发布节点对目标版本以及增量配置信息进行处理时,可获取预览验证节点的处理状态,发布验证节点对目标版本以及增量配置信息进行处理时,可获取发布节点的处理状态。
步骤203,在任一发布任务节点的前一个发布任务节点的处理状态为验证通过的情况下,采用任一发布任务节点对目标版本以及增量配置信息进行处理。
在本公开实施例中,在发布内容验证节点的处理状态为验证通过后,在预览发布节点对目标版本以及增量配置信息进行处理,同理,预览发布节点的处理状态为验证通过后,在预览验证节点对目标版本以及增量配置信息进行处理,接着,在预览验证节点的处理状态为验证通过后,在发布节点对目标版本以及增量配置信息进行处理,在发布节点的处理状态为验证通过后,在发布验证节点对目标版本以及增量配置信息进行处理。
步骤204,根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。
需要说明的是,步骤201和步骤204的执行过程可以参见上述实施例的执行过程,在此不做赘述。
综上,可根据除首个之外的任一发布任务节点的前一个发布任务节点的处理状态,确定任一发布任务节点是否对目标版本以及增量配置信息进行处理,由此,可提高目标版本的发布效率。
为了清楚地说明本公开实施例如何采用各个发布任务节点对目标版本以及增量配置信息进行处理,如图3所示,图3为本公开实施例三所提供的软件发布方法的流程示意图,在本公开实施例中,可依次采用发布内容验证节点、预览发布节点、预览验证节点、发布节点和发布验证节点对目标版本以及增量配置信息进行处理,图3所示实施例可包括如下步骤:
步骤301,响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新当前版本。
步骤302,在发布内容验证节点对增量配置信息进行内容验证,以得到目标版本在发布内容验证节点的验证状态。
作为一种示例,可在发布内容验证节点对增量配置信息进行处理,生成发布内容通知消息,并将该发布内容通知消息通过推送接口或者邮件的方式发送至开发人员,以对发布内容通知消息进行内容验证,其中,增量配置信息可为“xx上线功能/x缺陷(bug)修复内容”,发布内容通知消息可为“xx上线功能/bug修复内容即将发布,请确认”。开发人员在确定根据增量配置信息生成的发布内容通知消息为正确的情况下,响应于开发人员的操作结果,确定发布内容验证节点的处理状态,比如,响应于开发人员的第一发布验证操作,发布内容验证节点即为验证通过,响应于开发人员的第二发布验证操作,发布内容验证节点即为验证不通过,其中,第一发布验证操作用于指示发布内容验证节点验证通过,第二发布验证操作用于指示发布内容验证节点验证不通过。
作为另一种示例,可在发布内容验证节点对增量配置信息进行处理,生成发布内容通知消息,并将发布内容通知消息与设定的参数进行匹配,根据匹配结果确定目标版本在发布内容验证节点的验证状态。
步骤303,在发布内容验证节点的验证状态为验证通过的情况下,在预览发布节点读取预览环境下的待发布版本号,并根据预览环境下的待发布版本号对目标版本的版本号进行验证,并根据目标版本的版本号的验证状态,确定目标版本的发送预览状态。
进一步地,在发布内容验证节点为验证通过时,可在预览发布节点,如,预览环境发布界面,读取预览环境下的待发布版本列表中的待发布版本号,并将待发布版本号与目标版本的版本号进行验证,在待发布版本号与目标版本的版本号一致时,可将目标版本发送至预览环境,在待发布版本号与目标版本的版本号不一致时,生成提示信息,以对发布人员进行提醒。
步骤304,在发送预览状态为已发送状态的情况下,在预览验证节点对目标版本进行预览验证,以得到目标版本的预览验证状态。
作为一种示例,在发送预览状态为已发送状态时,在预览验证节点(如,预览环境页面),可根据增量配置信息生成预览内容通知消息,并通过推送接口或者邮件方式将预览内容通知消息发送给开发人员,以通知开发人员在预览验证节点对目标版本进行预览验证,响应于开发人员的验证操作,获取目标版本的预览验证状态。
作为另一种示例,在预览验证节点可对目标版本进行预览,并将目标版本中的增量配置信息对应的功能或修复漏洞进行验证,以确定目标版本的预览验证状态。比如,在目标版本中的增量配置信息对应的功能满足设定的功能要求,或修复漏洞已完成修复,可确定目标版本的预览验证状态为验证通过。
步骤305,在预览验证状态为验证通过的情况下,在发布节点读取发布环境中的待发布版本号,并根据发布环境中的待发布版本号对目标版本的版本号进行验证,并根据目标版本的版本号的验证状态,确定目标版本在发布节点的处理状态。
进而,在预览验证状态为验证通过的情况下,在发布节点读取发布环境中的待发布版本号,并将待发布版本号与目标版本的版本号进行验证,在待发布版本号与目标版本的版本号一致时,可将目标版本发送至发布环境,目标版本在发布节点的处理状态为发布;在待发布版本号与目标版本的版本号不一致时,可生成提醒消息,以对发布人员进行提醒。
步骤306,在发布节点的处理状态为已发布的情况下,在发布验证节点对目标版本进行发布验证,以得到目标版本的发布验证状态。
在本公开实施例中,在目标版本已发送至发布节点时(如,已发送至正式发布环境),作为一种示例,可根据增量配置信息生成发布通知消息,以通知开发人员对发布的目标版本进行验证,响应于开发人员的验证操作,得到目标版本的发布验证状态。
作为另一种示例,在目标版本已发送至发布节点时,可在发布验证节点对目标版本进行验证,比如,将目标版本中的功能或修复漏洞进行验证,以确定目标版本的发布验证状态。比如,在目标版本对应的功能满足设定的功能要求,和/或修复漏洞已完成修复,可确定目标版本的发布验证状态为验证通过。
需要说明的是,上述发布任务链的各发布节点可依次对目标版本和增量配置信息进行处理,也可同时对目标版本和增量配置信息进行处理,本公开实施例仅为示例性说明,不做具体限制。
步骤307,根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。
需要说明的是,步骤301和步骤307的执行过程可以参见上述实施例的执行过程,在此不做赘述。
综上,通过在发布内容验证节点对增量配置信息进行内容验证,以得到目标版本在发布内容验证节点的验证状态;发布内容验证节点的验证状态为验证通过的情况下,在预览发布节点读取预览环境下的待发布版本号,并根据预览环境下的待发布版本号对目标版本的版本号进行验证,并根据目标版本的版本号的验证状态,确定目标版本的发送预览状态;在发送预览状态为已发送状态,在预览验证节点对目标版本进行预览验证,以得到目标版本的预览验证状态;在预览验证状态为验证通过的情况下,在发布节点读取发布环境中的待发布版本号,并根据发布环境中的待发布版本号对目标版本的版本号进行验证,并根据目标版本的版本号的验证状态,确定目标版本在发布节点的处理状态;在发布节点的处理状态为已发布的情况下,在发布验证节点对目标版本进行发布验证,以得到目标版本的发布验证状态,由此,在任一发布任务节点的前一个发布任务节点的处理状态为验证通过的情况下,可采用任一发布任务节点对目标版本以及增量配置信息进行处理,并且可获取发布任务链中的各个发布任务节点的处理状态。
为了准确地确定软件的发布状态,如图4所示,图4为本公开实施例四所提供的软件发布方法的流程示意图,在本公开实施例中,可根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。作为一种示例,在处理状态数据中未存在至少一个所述发布任务节点的处理状态时,和/或,在所述处理状态数据中至少一个所述发布任务节点的处理状态为验证失败时,可确定软件的发布状态为发布失败。图4所示实施例可包括如下步骤:
步骤401,响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新所述当前版本。
步骤402,按照软件对应的发布任务链对目标版本以及增量配置信息进行处理,以获取发布任务链中各个发布任务节点的处理状态。
步骤403,在处理状态数据中未存在至少一个发布任务节点的处理状态时,确定软件的发布状态为发布失败。
作为一种示例,在发布任务链中的任意一个或多个发布节点未对目标版本以及增量配置信息进行处理,则处理状态数据中未存在一个或多个发布任务节点的处理状态,进而,可确定软件的发布状态为发布失败。
步骤404,在处理状态数据中至少一个发布任务节点的处理状态为验证失败时,确定软件的发布状态为发布失败。
作为另一种示例,在发布任务链中的任意一个或多个发布节点的处理状态为验证失败时,可确定目标版本和/或增量配置信息存在异常,可确定软件的发布状态为发布失败。
在本公开实施例中,在处理状态数据中存在各个发布任务节点的处理状态,并且各个发布任务节点的处理状态为验证通过时,可确定软件的发布状态为发布成功。
为了提升软件的可用性以及改善用户的使用体验,在本公开实施例中,在确定软件的发布状态为发布失败时,可将软件的版本回滚至当前版本,并以当前版本继续发布。
需要说明的是,步骤403和步骤404可以择一执行,也可以同时执行,本公开实施例仅是示例性说明,不做具体限制。步骤401和步骤407的执行过程可以参见上述实施例的执行过程,在此不做赘述。
综上,通过在处理状态数据中未存在至少一个发布任务节点的处理状态时,确定软件的发布状态为发布失败;和/或,在处理状态数据中至少一个发布任务节点的处理状态为验证失败时,确定软件的发布状态为发布失败,由此,根据各个发布任务节点的处理状态,可准确地确定软件的发布状态为发布失败。
本公开实施例的软件发布方法,通过响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新当前版本;按照软件对应的发布任务链对目标版本以及增量配置信息进行处理,以获取发布任务链中各个发布任务节点的处理状态;根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。由此,通过在发布任务链中的各个发布任务节点对目标版本以及增量配置信息进行自动处理,并且根据各个发布任务节点的处理状态,确定最终的发布状态,节约了发布时间、提高发布效率和正确率。
为了实现上述实施例,本公开提出一种软件发布装置。
图5为本公开实施例五所提供的软件发布装置的结构示意图,如图5所示,软件发布装置500包括:获取模块510、处理模块520和确定模块530。
其中,获取模块510,用于响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新当前版本;处理模块520,用于按照软件对应的发布任务链对目标版本以及增量配置信息进行处理,以获取发布任务链中各个发布任务节点的处理状态;确定模块530,用于根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。
作为本公开实施例的一种可能实现方式,处理模块520,具体用于:针对发布任务链中的除首个之外的任一发布任务节点,获取发布任务节点的前一个发布任务节点的处理状态;在发布任务节点的前一个发布任务节点的处理状态为验证通过的情况下,采用发布任务节点对目标版本以及增量配置信息进行处理。
作为本公开实施例的一种可能实现方式,所述发布任务链中各个发布任务节点包括以下节点中的至少一种:发布内容验证节点、预览发布节点、预览验证节点、发布节点和发布验证节点;处理模块,还用于:在发布内容验证节点,对增量配置信息进行内容验证,以得到目标版本在发布内容验证节点的验证状态;在发布内容验证节点的验证状态为验证通过的情况下,在预览发布节点,读取预览环境下的待发布版本号,并根据预览环境下的待发布版本号对目标版本的版本号进行验证,进而根据目标版本的版本号的验证状态,确定目标版本的发送预览状态;在发送预览状态为已发送状态的情况下,在预览验证节点对目标版本进行预览验证,以得到目标版本的预览验证状态;在预览验证状态为验证通过的情况下,在发布节点读取发布环境中的待发布版本号,并根据发布环境中的待发布版本号对目标版本的版本号进行验证,并根据目标版本的版本号的验证状态,确定目标版本在发布节点的处理状态;在发布节点的处理状态为已发布的情况下,在发布验证节点对目标版本进行发布验证,以得到目标版本的发布验证状态。
作为本公开实施例的一种可能实现方式,确定模块530,具体用于:在处理状态数据中未存在至少一个发布任务节点的处理状态时,确定软件的发布状态为发布失败;和/或,在处理状态数据中至少一个发布任务节点的处理状态为验证失败时,确定软件的发布状态为发布失败。
作为本公开实施例的一种可能实现方式,软件发布装置500还包括:发布模块。
其中,发布模块,用于在软件的发布状态为发布失败时,继续发布当前版本。
本公开实施例的软件发布装置,通过响应于待发布软件的发布指令,获取软件的目标版本及目标版本相对于当前版本的增量配置信息;其中,目标版本,用于更新当前版本;按照软件对应的发布任务链对目标版本以及增量配置信息进行处理,以获取发布任务链中各个发布任务节点的处理状态;根据发布任务链中各个发布任务节点的处理状态,确定目标版本的发布状态。由此,通过在发布任务链中的各个发布任务节点对目标版本以及增量配置信息进行自动处理,并且根据各个发布任务节点的处理状态,确定最终的发布状态,节约了发布时间、提高发布效率和正确率。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均在征得用户同意的前提下进行,并且均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例所述的方法。
根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述实施例所述的方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述实施例所述方法的步骤。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如软件发布方法。例如,在一些实施例中,软件发布方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM603并由计算单元601执行时,可以执行上文描述的软件发布方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行软件发布方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种软件发布方法,包括:
响应于待发布软件的发布指令,获取所述软件的目标版本及所述目标版本相对于当前版本的增量配置信息;其中,所述目标版本,用于更新所述当前版本;
按照所述软件对应的发布任务链对所述目标版本以及所述增量配置信息进行处理,以获取所述发布任务链中各个发布任务节点的处理状态;
根据所述发布任务链中各个发布任务节点的处理状态,确定所述目标版本的发布状态。
2.根据权利要求1所述的方法,其中,所述按照所述软件对应的发布任务链对所述目标版本以及所述软件的增量配置信息进行处理,以获取所述软件在所述发布任务链中各个发布任务节点的处理状态,包括:
针对所述发布任务链中的除首个之外的任一发布任务节点,获取所述任一发布任务节点的前一个发布任务节点的处理状态;
在所述任一发布任务节点的前一个发布任务节点的处理状态为验证通过的情况下,采用所述任一发布任务节点对所述目标版本以及所述增量配置信息进行处理。
3.根据权利要求1或2所述的方法,其中,所述发布任务链中各个发布任务节点包括以下节点中的至少一种:
发布内容验证节点、预览发布节点、预览验证节点、发布节点和发布验证节点;
相应的,按照所述软件对应的发布任务链对所述目标版本以及所述增量配置信息进行处理,包括:
在发布内容验证节点,对所述增量配置信息进行内容验证,以得到所述目标版本在所述发布内容验证节点的验证状态;
在所述发布内容验证节点的验证状态为验证通过的情况下,在预览发布节点,读取预览环境下的待发布版本号,并根据所述预览环境下的待发布版本号对所述目标版本的版本号进行验证,并根据所述目标版本的版本号的验证状态,确定所述目标版本的发送预览状态;
在所述发送预览状态为已发送状态的情况下,在预览验证节点对所述目标版本进行预览验证,以得到所述目标版本的预览验证状态;
在所述预览验证状态为验证通过的情况下,在发布节点读取发布环境中的待发布版本号,并根据所述发布环境中的待发布版本号对所述目标版本的版本号进行验证,并根据所述目标版本的版本号的验证状态,确定所述目标版本在所述发布节点的处理状态;
在所述发布节点的处理状态为已发布的情况下,在发布验证节点对所述目标版本进行发布验证,以得到所述目标版本的发布验证状态。
4.根据权利要求1所述的方法,其中,所述根据所述软件在所述发布任务链中各个发布任务节点的处理状态,确定所述软件的发布状态,包括:
在处理状态数据中未存在至少一个所述发布任务节点的处理状态时,确定所述软件的发布状态为发布失败;
和/或,在所述处理状态数据中至少一个所述发布任务节点的处理状态为验证失败时,确定所述软件的发布状态为发布失败。
5.根据权利要求1或4所述的方法,其中,所述方法还包括:
在所述软件的发布状态为发布失败时,继续发布所述当前版本。
6.一种软件发布装置,包括:
获取模块,用于响应于待发布软件的发布指令,获取所述软件的目标版本及所述目标版本相对于当前版本的增量配置信息;其中,所述目标版本,用于更新所述当前版本;
处理模块,用于按照所述软件对应的发布任务链对所述目标版本以及所述增量配置信息进行处理,以获取所述发布任务链中各个发布任务节点的处理状态;
确定模块,用于根据所述发布任务链中各个发布任务节点的处理状态,确定所述目标版本的发布状态。
7.根据权利要求6所述的装置,其中,所述处理模块,具体用于:
针对所述发布任务链中的除首个之外的任一发布任务节点,获取所述发布任务节点的前一个发布任务节点的处理状态;
在所述发布任务节点的前一个发布任务节点的处理状态为验证通过的情况下,采用所述发布任务节点对所述目标版本以及所述增量配置信息进行处理。
8.根据权利要求6或7所述的装置,其中,所述发布任务链中各个发布任务节点包括以下节点中的至少一种:
发布内容验证节点、预览发布节点、预览验证节点、发布节点和发布验证节点;
相应的,所述处理模块,还用于:
在发布内容验证节点,对所述增量配置信息进行内容验证,以得到所述目标版本在所述发布内容验证节点的验证状态;
在所述发布内容验证节点的验证状态为验证通过的情况下,在预览发布节点,读取预览环境下的待发布版本号,并根据所述预览环境下的待发布版本号对所述目标版本的版本号进行验证,并根据所述目标版本的版本号的验证状态,确定所述目标版本的发送预览状态;
在所述发送预览状态为已发送状态的情况下,在预览验证节点对所述目标版本进行预览验证,以得到所述目标版本的预览验证状态;
在所述预览验证状态为验证通过的情况下,在发布节点读取发布环境中的待发布版本号,并根据所述发布环境中的待发布版本号对所述目标版本的版本号进行验证,并根据所述目标版本的版本号的验证状态,确定所述目标版本在所述发布节点的处理状态;
在所述发布节点的处理状态为已发布的情况下,在发布验证节点对所述目标版本进行发布验证,以得到所述目标版本的发布验证状态。
9.根据权利要求6所述的装置,其中,所述确定模块,具体用于:
在处理状态数据中未存在至少一个所述发布任务节点的处理状态时,确定所述软件的发布状态为发布失败;
和/或,在所述处理状态数据中至少一个所述发布任务节点的处理状态为验证失败时,确定所述软件的发布状态为发布失败。
10.根据权利要求6或9所述的装置,其中,所述装置还包括:
发布模块,用于在所述软件的发布状态为发布失败时,继续发布所述当前版本。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111615392.9A CN114416164A (zh) | 2021-12-27 | 2021-12-27 | 软件发布方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111615392.9A CN114416164A (zh) | 2021-12-27 | 2021-12-27 | 软件发布方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416164A true CN114416164A (zh) | 2022-04-29 |
Family
ID=81270186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111615392.9A Withdrawn CN114416164A (zh) | 2021-12-27 | 2021-12-27 | 软件发布方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416164A (zh) |
-
2021
- 2021-12-27 CN CN202111615392.9A patent/CN114416164A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113342345A (zh) | 深度学习框架的算子融合方法、装置 | |
CN112527281B (zh) | 基于人工智能的算子升级方法、装置、电子设备及介质 | |
CN112084110A (zh) | 数据处理方法、装置、设备以及存储介质 | |
CN114417780B (zh) | 状态同步方法、装置、电子设备及存储介质 | |
CN109299124B (zh) | 用于更新模型的方法和装置 | |
CN114389969A (zh) | 客户端的测试方法、装置、电子设备和存储介质 | |
CN114217848A (zh) | 依赖关系处理方法、装置、电子设备及计算机存储介质 | |
CN114743586B (zh) | 存储器模型的镜像存储实现方法、装置及存储介质 | |
CN116301978A (zh) | 一种系统升级方法、装置、设备及存储介质 | |
CN114416164A (zh) | 软件发布方法、装置、电子设备及存储介质 | |
CN114218313A (zh) | 数据管理方法、装置、电子设备、存储介质及产品 | |
CN115509850A (zh) | 日志处理方法、装置、设备、储存介质及计算机程序 | |
CN114091909A (zh) | 一种协同开发的方法、系统、装置及电子设备 | |
CN114693116A (zh) | 代码评审有效性的检测方法及装置、电子设备 | |
CN113656050B (zh) | 用于生成版本号的方法和装置 | |
CN114048137A (zh) | 一种应用测试方法、装置及电子设备 | |
CN114416518A (zh) | 测试用例指标的验证方法及装置、电子设备和存储介质 | |
CN114741294A (zh) | 一种页面的调试方法、装置、设备及存储介质 | |
CN114218166A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN113126881A (zh) | 系统配置方法、装置、设备、可读存储介质及分布式存储系统 | |
CN113867634B (zh) | 数据读取方法、装置、电子设备及存储介质 | |
CN114416168A (zh) | 版本号处理方法及装置 | |
CN114064002A (zh) | 软件开发工具包的生成方法、装置、设备以及存储介质 | |
CN114925690A (zh) | 一种校验敏感词及匹配规则的平台及方法 | |
CN114693115A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220429 |