CN114911522A - 一种软件版本发布系统、方法、设备及可读存储介质 - Google Patents
一种软件版本发布系统、方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114911522A CN114911522A CN202210606534.3A CN202210606534A CN114911522A CN 114911522 A CN114911522 A CN 114911522A CN 202210606534 A CN202210606534 A CN 202210606534A CN 114911522 A CN114911522 A CN 114911522A
- Authority
- CN
- China
- Prior art keywords
- approval
- software package
- path
- release
- target software
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012795 verification Methods 0.000 claims abstract description 79
- 238000004590 computer program Methods 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 230000000694 effects Effects 0.000 abstract description 2
- 238000012360 testing method Methods 0.000 description 18
- 238000012827 research and development Methods 0.000 description 16
- 230000001360 synchronised effect Effects 0.000 description 13
- 238000011161 development Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive 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
Landscapes
- Engineering & Computer Science (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为本申请公开的一种软件版本发布方法流程图;
图7为本申请公开的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在软件发布流程中,需要配置管理人员将要发布的软件版本同步到软件版本存储库的发布路径下,以供工程人员获取。由于研发过程中会涉及多个软件包的多次版本提测及发布,因此配置管理员需要重复进行同步操作,这样就会造成工作效率的低下,并且增大了操作错误概率。为此,本申请提供了一种软件版本发布方案,能够自动完成软件发布过程中的审批、同步操作,快速同步需要发布的软件至发布路径下,提高了软件发布的时效性及准确性,降低了出错概率。
参见图1所示,本申请实施例公开了一种软件版本发布系统,包括:多个审批客户端、审批服务器和发布端。
其中,各审批客户端,用于发送各审批者对目标软件包的审批信息至审批服务器;各审批客户端对审批服务器的访问权限不同;审批服务器,用于基于各审批客户端的访问权限大小从各审批信息中确定目标软件包的审批结果;发布端,用于基于审批结果确定是否发布目标软件包;若是,则确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径。
需要说明的是,各审批客户端的访问权限大小利用账户+密码的方式进行区分。也即:不同审批者使用不同账户在审批客户端进行登录,获得的访问权限不同。当然,不同审批者需要在审批客户端进行注册,具体可参照现有相关技术,本实施例在此不再赘述。
在一种具体实施方式中,审批服务器将最高访问权限的审批客户端发送的审批信息确定为目标软件包的审批结果。一般地,审批者可以是研发人员、测试人员、项目主管等,其中项目主管可以决定软件是否需要发布,所以项目主管使用审批客户端发送给审批服务器的审批信息具有最高权限,也即:项目主管使用的审批客户端对审批服务器有最高访问权限。
在一种具体实施方式中,发布端具体用于:若审批结果为允许发布,则确定发布目标软件包;否则,确定不发布目标软件包。一般地,软件是否发布取决于代码是否有问题、测试是否通过等技术问题,当然还可能受业务需求变更等非技术因素的影响。例如:某一软件模块代码没有问题、测试也已通过,从技术上来看符合发布要求,但是由于该软件模块是针对元旦节日设计的,因此需要等到元旦才进行发布。
需要说明的是,软件包被提交到审批服务器时,携带有其原始存储路径和校验信息。校验信息可以是软件的哈希值等。因此在一种具体实施方式中,发布端具体用于:从审批服务器获取原始存储路径和校验信息。
在一种具体实施方式中,发布端具体用于:从原始存储路径中下载目标软件包,并计算目标软件包的校验值;若计算得到的校验值与校验信息一致,则确定校验信息通过校验;否则,确定校验信息未通过校验。
在一种具体实施方式中,发布端具体用于:利用哈希算法计算校验值。哈希算法如SHA256、MD5等。SHA(Secure Hash Algorithm)是一种数据加密算法,MD5(Message DigestAlgorithm 5)是RSA数据安全公司开发的一种单向散列算法。
在一种具体实施方式中,发布端具体用于:若未查询到发布路径,则创建发布路径。其中,发布路径用于工程部及售后人员访问,原始存储路径用于研发及测试人员访问,因此原始存储路径和发布路径的访问权限不同,具体可利用SFTP(Secure File TransferProtocol,安全文件传送协议)实现访问权限的划分。在一种具体实施方式中,原始存储路径和发布路径处于同一存储介质且设置了不同的访问权限。
可见,本实施例提供了一种软件版本发布系统,包括:多个审批客户端、审批服务器和发布端。其中:对审批服务器的访问权限不同的各审批客户端能够发送各审批者对目标软件包的审批信息至审批服务器;审批服务器能够基于各审批客户端的访问权限大小从各审批信息中确定目标软件包的审批结果;发布端能够基于审批结果确定是否发布目标软件包;若是,则确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径。可见,多个审批客户端、审批服务器和发布端可自动完成软件发布过程中的审批、同步操作,提高了软件发布的时效性及准确性,降低了出错概率。
参见图2所示,本申请实施例公开了另一种软件版本发布系统,包括:发布流程审批服务器及其客户端、判断模块、软件版本存储介质及同步执行模块。其中,同步模块根据判断模块的结论,执行同步模块的同步任务,即:将软件包从研发路径(即上述所述的原始存储路径)同步至发布路径。其中,判断模块、同步执行模块构成上述实施例所述的发布端。
其中,发布流程审批服务器及其客户端用于进行软件版本的提测、流程签批,依次需要研发、测试、开发经理、配置管理等角色进行审核签批,每个审批节点签批后会邮件通知下一个审批责任人进行线上审批,待配置管理审批通过后,系统会触发CQ(Clear Quest)自带的API接口,调用判断模块CQinfor.pl脚本对是否可发布、发布路径、项目信息、版本类型、文件校验值进行判断,判断均通过后,利用同步模块执行同步任务。可见,判断模块依赖于Clear Quest系统。在一种示例中,审批流程及调用判断模块可参照图3,如图3所示,由各人员审批均通过后,调用CQinfor.pl的API接口进入判断模块。
其中,Clear Quest是一种管理工具,允许自定义各种流程的流转、跟踪、表单字段。在客户端或Web界面登录后,可进行表单的创建、查询、审批流转等操作。基于该系统可实现发布流程审批服务器及其客户端,使得审批服务器及其客户端能够进行软件版本提测、发布、变更等审批流程。
具体的,判断模块是基于Clear Quest系统的API接口编写的判断脚本,用于根据Clear Quest表单上的版本是否可发布、上传路径、版本项目信息、版本类型、文件校验值等相关信息,判断版本是否需要被同步,如果需要同步,则调用同步模块。
在一种示例中,判断模块的实现代码和逻辑如下所示:
use encoding'gbk'
@cq_id=$entity->GetFieldValue("id")->GetValue()
@cq_state=$entity->GetFieldValue("State")->GetValue()
@cq_release=$entity->GetFieldValue("版本是否可发布")->GetValue()
@cq_devpath=$entity->GetFieldValue("上传路径")->GetValue()
@cq_releasepath=$entity->GetFieldValue("发布路径")->GetValue()
@cq_name=$entity->GetFieldValue("项目名称")->GetValue()
@cq_type=$entity->GetFieldValue("版本类型")->GetValue()
if(@cq_state eq"版本可发布")
{if(cq_type eq"01-系统软件"or cq_type eq"02-BIOS"or cq_type eq"03-bmc"or cq_type eq"04-CPLD")
{system("perl d:\\Script\\CQ_CPPY\\CQinfor.pl$cq_id$cq_devpath$cq_releasepath$cq_name")}
}
需要说明的是,软件版本存储介质中设有研发路径(01_DEV)以及发布路径(02_Release),研发路径用于研发及测试人员访问,发布路径用于工程部及售后人员访问。该物理软件版本存储介质使用SFTP进行管理,使研发路径和发布路径物理隔离,从而区分二者的访问权限。在一种示例中,研发路径(01_DEV)和发布路径(02_Release)的目录结构及访问权限可参见图4。图4中的FTP表示01_DEV和02_Release是利用SFTP实现目录创建的。
在本实施例中,同步模块是基于判断模块的判断结论,将研发路径中的软件包同步到发布路径,使得工程及服务人员可以及时获取可发布的软件包。
在一种示例中,同步模块的实现逻辑如图5所示。在图5中,同步模块在同步之前,先判断是否存在目的路径,也就是判断是否有发布路径,若有发布路径,则进行文件同步,否则,先创建发布路径的根目录,再进行文件同步。将文件同步至发布路径后,进一步校验所同步的文件。具体可以使用SHA256算法计算所同步文件的SHA256值,并与文件自带的SHA256值进行比对,若二者一致,则校验成功,否则,通知相关人员进一步处理。
可见,本实施例能够自动化同步、校验软件包,保障软件包的同步时效性及准确性,避免人工操作可能带来的人为错误及时效延误,提升了版本配置管理的工作效率。具体通过Clear Quest流程审批后,通过其自带的API接口,设计了判断及同步模块,还能进行文件的数据校验检查,保障审批、同步的高时效性及高准确性。
下面对本申请实施例提供的一种软件版本发布方法进行介绍,下文描述的一种软件版本发布方法与上文描述的一种软件版本发布系统可以相互参照。也即:本实施例中的相应内容可与上述任意实施例相互参照。
参见图6所示,本申请实施例公开了一种软件版本发布方法,应用于发布端,包括:
S601、基于审批服务器发送的审批结果确定是否发布目标软件包;若是,则执行S602;否则无操作。
其中,审批结果的确定过程包括:审批服务器接收多个审批客户端发送的审批信息后,将最高访问权限的审批客户端发送的审批信息确定为审批结果;各审批客户端对审批服务器的访问权限不同。其中,各审批客户端的访问权限大小利用账户+密码的方式进行区分。也即:不同审批者使用不同账户在审批客户端进行登录,获得的访问权限不同。当然,不同审批者需要在审批客户端进行注册,具体可参照现有相关技术,本实施例在此不再赘述。
一般地,审批者可以是研发人员、测试人员、项目主管等,其中项目主管可以决定软件是否需要发布,所以项目主管使用审批客户端发送给审批服务器的审批信息具有最高权限,也即:项目主管使用的审批客户端对审批服务器有最高访问权限。
需要说明的是,软件是否发布受代码是否有问题、测试是否通过等技术问题的影响,当然还受业务需求变更等非技术因素的影响。
S602、确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径。
在一种具体实施方式中,基于审批服务器发送的审批结果确定是否发布目标软件包,包括:若审批结果为允许发布,则确定发布目标软件包;否则,确定不发布目标软件包。
在一种具体实施方式中,确定目标软件包的原始存储路径和校验信息,包括:从审批服务器获取原始存储路径和校验信息。一般地,软件包被提交到审批服务器时,携带有其原始存储路径和校验信息。校验信息可以是软件的哈希值等。
在一种具体实施方式中,校验信息的校验过程包括:从原始存储路径中下载目标软件包,并计算目标软件包的校验值;若计算得到的校验值与校验信息一致,则确定校验信息通过校验;否则,确定校验信息未通过校验。
在一种具体实施方式中,计算目标软件包的校验值,包括:利用哈希算法计算校验值。哈希算法如SHA256、MD5等。
需要说明的是,发布路径用于工程部及售后人员访问,原始存储路径用于研发及测试人员访问,因此原始存储路径和发布路径的访问权限不同,具体可利用SFTP(SecureFile Transfer Protocol,安全文件传送协议)实现访问权限的划分。在一种具体实施方式中,原始存储路径和发布路径可以设置不同的访问权限。在一种示例中,研发路径(01_DEV)和发布路径(02_Release)的目录结构及访问权限可参见图4。
在一种具体实施方式中,若未查询到发布路径,则创建发布路径。
在一种具体实施方式中,原始存储路径和发布路径处于同一存储介质且设置了不同的访问权限。
在一种具体实施方式中,审批服务器将最高访问权限的审批客户端发送的审批信息确定为目标软件包的审批结果。
可见,本实施例提供了一种软件版本发布方法,发布端能够基于审批服务器发送的审批结果确定是否发布目标软件包;若是,则确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径,可自动完成软件发布过程中的审批、同步操作,提高了软件发布的时效性及准确性,降低了出错概率。
下面对本申请实施例提供的发布端进行介绍,下文描述的一种发布端与上文描述的相应内容可以相互参照。也即:本实施例中的相应内容可与上述任意实施例相互参照。
本申请实施例公开了一种发布端,该发布端可以是实体设备,也可以是软件应用,具体的,该发布端具体包括:
审批结果确定模块,用于基于审批服务器发送的审批结果确定是否发布目标软件包。
其中,审批结果的确定过程包括:审批服务器接收多个审批客户端发送的审批信息后,将最高访问权限的审批客户端发送的审批信息确定为审批结果;各审批客户端对审批服务器的访问权限不同。其中,各审批客户端的访问权限大小利用账户+密码的方式进行区分。也即:不同审批者使用不同账户在审批客户端进行登录,获得的访问权限不同。当然,不同审批者需要在审批客户端进行注册,具体可参照现有相关技术,本实施例在此不再赘述。
一般地,审批者可以是研发人员、测试人员、项目主管等,其中项目主管可以决定软件是否需要发布,所以项目主管使用审批客户端发送给审批服务器的审批信息具有最高权限,也即:项目主管使用的审批客户端对审批服务器有最高访问权限。
需要说明的是,软件是否发布受代码是否有问题、测试是否通过等技术问题的影响,当然还受业务需求变更等非技术因素的影响。
软件包发布模块,用于确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径。
在一种具体实施方式中,审批结果确定模块具体用于:若审批服务器发送的审批结果为允许发布,则确定发布目标软件包;若审批服务器发送的审批结果不是允许发布,则确定不发布目标软件包。
在一种具体实施方式中,软件包发布模块具体用于:从审批服务器获取原始存储路径和校验信息。一般地,软件包被提交到审批服务器时,携带有其原始存储路径和校验信息。校验信息可以是软件的哈希值等。
在一种具体实施方式中,软件包发布模块具体用于进行软件包校验。其中,软件包的校验信息的校验过程包括:从原始存储路径中下载目标软件包,并计算目标软件包的校验值;若计算得到的校验值与从审批服务器获取到的校验信息一致,则确定从审批服务器获取到的校验信息通过校验;否则,确定从审批服务器获取到的校验信息未通过校验。
在一种具体实施方式中,计算目标软件包的校验值,包括:利用哈希算法计算校验值。哈希算法如SHA256、MD5等。
需要说明的是,发布路径用于工程部及售后人员访问,原始存储路径用于研发及测试人员访问,因此原始存储路径和发布路径的访问权限不同,具体可利用SFTP(SecureFile Transfer Protocol,安全文件传送协议)实现访问权限的划分。在一种具体实施方式中,原始存储路径和发布路径可以设置不同的访问权限。在一种示例中,研发路径(01_DEV)和发布路径(02_Release)的目录结构及访问权限可参见图4。
在一种具体实施方式中,软件包发布模块具体用于若未查询到发布路径,则创建发布路径。
在一种具体实施方式中,原始存储路径和发布路径处于同一存储介质且设置了不同的访问权限。
在一种具体实施方式中,审批服务器将最高访问权限的审批客户端发送的审批信息确定为目标软件包的审批结果。
可见,本实施例提供了一种发布端,该发布端能够基于审批服务器发送的审批结果确定是否发布目标软件包;若是,则确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径,可自动完成软件发布过程中的审批、同步操作,提高了软件发布的时效性及准确性,降低了出错概率。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种软件版本发布方法及系统可以相互参照。也即:本实施例中的相应内容可与上述任意实施例相互参照。
参见图7所示,本申请实施例公开了一种电子设备,包括:
存储器701,用于保存计算机程序;
处理器702,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
具体的,本实施例中的电子设备作为发布端,其中的计算机程序可以实现以下步骤:基于审批服务器发送的审批结果确定是否发布目标软件包;若是,则确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径。
在一种具体实施方式中,本实施例中的电子设备作为发布端,其中的计算机程序可以实现以下步骤:若审批结果为允许发布,则确定发布目标软件包;否则,确定不发布目标软件包。
在一种具体实施方式中,本实施例中的电子设备作为发布端,其中的计算机程序可以实现以下步骤:从审批服务器获取原始存储路径和校验信息。一般地,软件包被提交到审批服务器时,携带有其原始存储路径和校验信息。校验信息可以是软件的哈希值等。
在一种具体实施方式中本实施例中的电子设备作为发布端,其中的计算机程序可以实现以下步骤:从原始存储路径中下载目标软件包,并计算目标软件包的校验值;若计算得到的校验值与校验信息一致,则确定校验信息通过校验;否则,确定校验信息未通过校验。
在一种具体实施方式中,本实施例中的电子设备作为发布端,其中的计算机程序可以实现以下步骤:利用哈希算法计算校验值。哈希算法如SHA256、MD5等。
在一种具体实施方式中,本实施例中的电子设备作为发布端,其中的计算机程序可以实现以下步骤:若未查询到发布路径,则创建发布路径。
在一种具体实施方式中,原始存储路径和发布路径处于同一存储介质且设置了不同的访问权限。需要说明的是,发布路径用于工程部及售后人员访问,原始存储路径用于研发及测试人员访问,因此原始存储路径和发布路径的访问权限不同,具体可利用SFTP(Secure File Transfer Protocol,安全文件传送协议)实现访问权限的划分。在一种具体实施方式中,原始存储路径和发布路径可以设置不同的访问权限。在一种示例中,研发路径(01_DEV)和发布路径(02_Release)的目录结构及访问权限可参见图4。
在一种具体实施方式中,审批服务器将最高访问权限的审批客户端发送的审批信息确定为目标软件包的审批结果。
其中,各审批客户端的访问权限大小利用账户+密码的方式进行区分。也即:不同审批者使用不同账户在审批客户端进行登录,获得的访问权限不同。当然,不同审批者需要在审批客户端进行注册,具体可参照现有相关技术,本实施例在此不再赘述。
一般地,审批者可以是研发人员、测试人员、项目主管等,其中项目主管可以决定软件是否需要发布,所以项目主管使用审批客户端发送给审批服务器的审批信息具有最高权限,也即:项目主管使用的审批客户端对审批服务器有最高访问权限。
需要说明的是,软件是否发布受代码是否有问题、测试是否通过等技术问题的影响,当然还受业务需求变更等非技术因素的影响。
可见,本实施例中的电子设备可自动完成软件发布过程中的审批、同步操作,提高了软件发布的时效性及准确性,降低了出错概率。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种软件版本发布系统、方法及设备可以相互参照。也即:本实施例中的相应内容可与上述任意实施例相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的软件版本发布方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
具体的,可读存储介质中的计算机程序可以实现以下步骤:基于审批服务器发送的审批结果确定是否发布目标软件包;其中,审批结果的确定过程包括:审批服务器接收多个审批客户端发送的审批信息后,将最高访问权限的审批客户端发送的审批信息确定为审批结果;各审批客户端对审批服务器的访问权限不同;若是,则确定目标软件包的原始存储路径和校验信息,在校验信息通过校验且查询到目标软件包的发布路径时,将原始存储路径中的目标软件包同步至发布路径。
其中,各审批客户端的访问权限大小利用账户+密码的方式进行区分。也即:不同审批者使用不同账户在审批客户端进行登录,获得的访问权限不同。当然,不同审批者需要在审批客户端进行注册,具体可参照现有相关技术,本实施例在此不再赘述。
一般地,审批者可以是研发人员、测试人员、项目主管等,其中项目主管可以决定软件是否需要发布,所以项目主管使用审批客户端发送给审批服务器的审批信息具有最高权限,也即:项目主管使用的审批客户端对审批服务器有最高访问权限。
需要说明的是,软件是否发布受代码是否有问题、测试是否通过等技术问题的影响,当然还受业务需求变更等非技术因素的影响。
在一种具体实施方式中,可读存储介质中的计算机程序可以实现以下步骤:若审批结果为允许发布,则确定发布目标软件包;否则,确定不发布目标软件包。
在一种具体实施方式中,可读存储介质中的计算机程序可以实现以下步骤:从审批服务器获取原始存储路径和校验信息。一般地,软件包被提交到审批服务器时,携带有其原始存储路径和校验信息。校验信息可以是软件的哈希值等。
在一种具体实施方式中,可读存储介质中的计算机程序可以实现以下步骤:从原始存储路径中下载目标软件包,并计算目标软件包的校验值;若计算得到的校验值与校验信息一致,则确定校验信息通过校验;否则,确定校验信息未通过校验。
在一种具体实施方式中,可读存储介质中的计算机程序可以实现以下步骤:利用哈希算法计算校验值。哈希算法如SHA256、MD5等。
在一种具体实施方式中,可读存储介质中的计算机程序可以实现以下步骤:若未查询到发布路径,则创建发布路径。
在一种具体实施方式中,原始存储路径和发布路径处于同一存储介质且设置了不同的访问权限。需要说明的是,发布路径用于工程部及售后人员访问,原始存储路径用于研发及测试人员访问,因此原始存储路径和发布路径的访问权限不同,具体可利用SFTP(Secure File Transfer Protocol,安全文件传送协议)实现访问权限的划分。在一种具体实施方式中,原始存储路径和发布路径可以设置不同的访问权限。在一种示例中,研发路径(01_DEV)和发布路径(02_Release)的目录结构及访问权限可参见图4。
在一种具体实施方式中,审批服务器将最高访问权限的审批客户端发送的审批信息确定为目标软件包的审批结果。
可见,可读存储介质中的计算机程序可自动完成软件发布过程中的审批、同步操作,提高了软件发布的时效性及准确性,降低了出错概率。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种软件版本发布系统,其特征在于,包括:多个审批客户端、审批服务器和发布端,其中:
各审批客户端,用于发送各审批者对目标软件包的审批信息至所述审批服务器;各审批客户端对所述审批服务器的访问权限不同;
所述审批服务器,用于基于各审批客户端的访问权限大小从各审批信息中确定所述目标软件包的审批结果;
所述发布端,用于基于所述审批结果确定是否发布所述目标软件包;若是,则确定所述目标软件包的原始存储路径和校验信息,在所述校验信息通过校验且查询到所述目标软件包的发布路径时,将所述原始存储路径中的所述目标软件包同步至所述发布路径。
2.根据权利要求1所述的软件版本发布系统,其特征在于,所述发布端具体用于:若所述审批结果为允许发布,则确定发布所述目标软件包;否则,确定不发布所述目标软件包。
3.根据权利要求1所述的软件版本发布系统,其特征在于,所述发布端具体用于:从所述审批服务器获取所述原始存储路径和所述校验信息。
4.根据权利要求1所述的软件版本发布系统,其特征在于,所述发布端具体用于:从所述原始存储路径中下载所述目标软件包,并计算目标软件包的校验值;若计算得到的校验值与所述校验信息一致,则确定所述校验信息通过校验;否则,确定所述校验信息未通过校验。
5.根据权利要求4所述的软件版本发布系统,其特征在于,所述发布端具体用于:利用哈希算法计算所述校验值。
6.根据权利要求1所述的软件版本发布系统,其特征在于,所述发布端具体用于:若未查询到所述发布路径,则创建所述发布路径。
7.根据权利要求1至6任意一项所述的软件版本发布系统,其特征在于,所述原始存储路径和所述发布路径处于同一存储介质且设置了不同的访问权限。
8.一种软件版本发布方法,其特征在于,应用于发布端,包括:
基于审批服务器发送的审批结果确定是否发布所述目标软件包;其中,所述审批结果的确定过程包括:所述审批服务器接收多个审批客户端发送的审批信息后,将最高访问权限的审批客户端发送的审批信息确定为所述审批结果;各审批客户端对所述审批服务器的访问权限不同;
若是,则确定所述目标软件包的原始存储路径和校验信息,在所述校验信息通过校验且查询到所述目标软件包的发布路径时,将所述原始存储路径中的所述目标软件包同步至所述发布路径。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求8所述的软件版本发布方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求8所述的软件版本发布方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606534.3A CN114911522A (zh) | 2022-05-31 | 2022-05-31 | 一种软件版本发布系统、方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606534.3A CN114911522A (zh) | 2022-05-31 | 2022-05-31 | 一种软件版本发布系统、方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114911522A true CN114911522A (zh) | 2022-08-16 |
Family
ID=82770859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210606534.3A Pending CN114911522A (zh) | 2022-05-31 | 2022-05-31 | 一种软件版本发布系统、方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114911522A (zh) |
-
2022
- 2022-05-31 CN CN202210606534.3A patent/CN114911522A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8838964B2 (en) | Package audit tool | |
CN111052120A (zh) | 使用分布式账本的数字资产可追溯性和保证 | |
CN108829593A (zh) | 代码覆盖率计算分析方法、装置、设备及存储介质 | |
US9589153B2 (en) | Securing integrity and consistency of a cloud storage service with efficient client operations | |
CN106575227B (zh) | 自动软件更新框架 | |
CN111857762A (zh) | 微服务更新系统 | |
US10216608B1 (en) | Load testing with automated service dependency discovery | |
US10657028B2 (en) | Method for replicating production behaviours in a development environment | |
CN111639309B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN111897846A (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN112035350B (zh) | 针对区块链系统的测试方法、装置及计算机设备 | |
CN111367531B (zh) | 代码处理方法及装置 | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
CN115168341A (zh) | 一种业务处理方法、系统、介质及设备 | |
CN107632909B (zh) | 用于自动测试设备功能的方法及系统 | |
CN114185808A (zh) | 自动化测试方法、装置、电子设备及计算机可读存储介质 | |
CN110865806A (zh) | 代码处理方法、装置、服务器及存储介质 | |
US11494493B1 (en) | Software verification for network-accessible applications | |
US11347533B2 (en) | Enhanced virtual machine image management system | |
CN114911522A (zh) | 一种软件版本发布系统、方法、设备及可读存储介质 | |
CN116225622A (zh) | 基于Docker的PaaS应用参数模板的测试方法 | |
CN111143347A (zh) | 一种对象存储数据一致性测试方法、系统、终端及存储介质 | |
CN113419949B (zh) | 数据处理的异常检测方法、装置、设备及存储介质 | |
US20230224319A1 (en) | Transmission apparatus, reception apparatus, container transmission system, method, and program |
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 |