CN109739529A - 一种程序自动发布的方法及装置 - Google Patents
一种程序自动发布的方法及装置 Download PDFInfo
- Publication number
- CN109739529A CN109739529A CN201811473248.4A CN201811473248A CN109739529A CN 109739529 A CN109739529 A CN 109739529A CN 201811473248 A CN201811473248 A CN 201811473248A CN 109739529 A CN109739529 A CN 109739529A
- Authority
- CN
- China
- Prior art keywords
- program
- task
- released
- publication
- bag
- 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 66
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 238000007726 management method Methods 0.000 claims description 90
- 238000012360 testing method Methods 0.000 claims description 44
- 238000012795 verification Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 239000004744 fabric Substances 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 7
- 238000007689 inspection Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供的一种程序自动发布的方法及装置,定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中;下载所述待发布程序任务对应的程序包;检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序;获取发布结果;发送所述发布结果给所述发布任务管理***后通知任务创建者。本申请实施例提供的一种程序自动发布的方法及装置可方便随时查看发布状态和历史发布数据,规范发布流程,降低发布风险,提高发布的及时性、安全性,节约人力财力成本,提高软件产品的稳定性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种程序自动发布的方法及装置。
背景技术
目前一般软件产品的程序发布流程是:开发或测试人员将需更新程序手动打包,通过邮件、QQ或U盘等方式,发送给***运维人员,运维人员手动再上传程序到服务器,然后进行手动备份、更新程序,更新完成后进行测试,最后再通知开发或测试人员发布结果。
整个流程从程序打包到更新完成,中间经过的环节较多,操作繁琐,任何一个环节出现问题,都可能导致程序发布失败。其中可能存在的问题和弊端有:
(1)程序打包时不同的人打包格式不统一,执行更新时带来操作上的繁琐。
(2)程序包打包时没有检验机制,程序包的准确性得不到保障。
(3)程序包在邮件、QQ或U盘等方式传输过程中可能存在数据损坏,程序包的完整性得不到保障。程序包上传到服务器过程中,也可能导致数据损坏,导致待发布的程序缺失或发布失败,安全性,稳定性有限。
(4)由于采用手动备份、更新,不仅操作繁琐,存在误操作的可能,同时还浪费了大量的时间和人力,而且问题反馈的及时性较差。由于整个发布过程都是人工操作,若发布时间需要指定在晚上或凌晨等,给运维人员带来了不便。
发明内容
本申请提供了一种程序自动发布的方法及装置,以解决现有软件产品的程序人工发布存在的及时性、安全性和稳定性较差的问题。
第一方面,为实现上述目的,本申请提供了一种程序自动发布的方法,所述方法包括:
定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中;
下载所述待发布程序任务对应的程序包;
检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取发布结果;
发送所述发布结果给所述发布任务管理***。
优选地,所述下载所述待发布程序任务对应的程序包之后,还包括:
校验所述待发布程序任务对应的程序包,如果校验不通过,则返回到所述下载所述待发布程序任务对应的程序包的步骤。
优选地,所述获取发布结果之后,还包括:
如果所述发布结果为发布成功,根据待发布程序任务的测试目标测试。
优选地,检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序之前,还包括:
备份所述待发布程序任务对应的原有程序。
优选地,所述获取发布结果之后,还包括:
如果所述发布结果为发布失败,则回滚执行所述待发布程序任务对应的原有程序。
优选地,根据待发布程序任务的测试目标测试所述待发布程序任务对应的程序之后,还包括:
获取测试结果,如果所述测试结果为未通过,则回滚执行所述待发布程序任务对应的原有程序。
第二方面,本申请还提供一种程序自动发布的装置,所述装置包括:
任务检测模块,用于定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中;
下载模块,用于下载所述待发布程序任务对应的程序包;
发布模块,用于检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取发布结果;
反馈模块,用于发送所述发布状态及所述发布结果给所述发布任务管理***。
第三方面,本申请还提供一种程序自动发布的任务管理方法,所述方法包括:
获取待发布程序任务及所述待发布程序任务对应的程序包,所述所述待发布程序任务对应的程序包包括程序文件包和发布说明,所述发布说明包括发布时间、测试目标或MD5值;
校验所述待发布程序任务对应的程序包;
如果校验通过,则自动获取所述发布说明内容;
接收程序发布服务器反馈的发布状态和发布结果;
发送所述发布结果给创建发布任务者。
优选地,所述待发布程序任务对应的程序包为通过格式校验的程序包。
第四方面,本申请化提供一种程序自动发布的任务管理***,设置在任务发布管理服务器上,所述任务管理***包括接收器、处理器和发送器,其中,
所述接收器,用于获取待发布程序任务及所述待发布程序任务对应的程序包,所述程序包包括程序文件包和发布说明,所述发布说明包括发布时间、测试目标或MD5值;还用于接收程序发布服务器反馈的发布状态及发布结果;
所述处理器,用于校验所述待发布程序任务对应的程序包;如果校验通过,则自动获取所述发布说明内容;
所述发送器,用于发送所述发布结果给创建发布任务者。
由以上技术方案可见,本申请实施例提供的一种程序自动发布的方法及装置,定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中;下载所述待发布程序任务对应的程序包;检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取发布结果;发送所述发布结果给所述发布任务管理***后通知任务创建者。本申请实施例提供的一种程序自动发布的方法及装置可以自动校验程序包、自动更新、自动测试、自动提醒,方便随时查看发布状态和历史发布数据。规范发布流程,降低发布风险,提高发布的及时性、稳定性和安全性,节约人力财力成本,提高软件产品的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的程序自动发布的方法的流程示意图;
图2为本申请实施例提供的程序自动发布的方法的第一个实施例的流程示意图;
图3为本申请实施例提供的创建发布任务的流程示意图;
图4为本申请实施例提供的程序自动发布的方法的第二个实施例的流程示意图;
图5为本申请实施例提供的程序自动发布的任务管理方法的流程示意图;
图6为本申请实施例提供的具体场景的结构示意图;
图7为本申请实施例提供的程序自动发布的装置的结构示意图;
图8为本申请实施例提供的程序自动发布的任务管理***的结构示意图。
具体实施方式
下面通过对本申请进行详细说明,本申请的特点和优点将随着这些说明而变得更为清楚、明确。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于本申请工作状态下的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”和“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。
下面结合附图,详细介绍本申请的具体实施例。
图1为本申请实施例提供的一种程序自动发布的方法的流程示意图,如图1所示,所述方法包括步骤S210至S280。
本申请所述的程序发布主要存在两种情况,一种是全新的程序需要发布,一种是原有的程序的升级或替换,所以每种情况的程序发布根据具体实施情况稍有不同。
其中一个实施例为全新的程序需要发布,如图2所示,具体执行步骤如下。
S210:定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中。
任务管理***可以跟踪、管理程序任务发布的相关信息,如发布项目、程序包、发布说明、发布时间、发布结果、短信提醒记录等,方便随时查看当前的程序发布状态和历史发布数据。
任务管理***包含:获取待发布程序任务及所述待发布程序任务对应的程序包,校验所述待发布程序任务对应的程序包、配置发布信息、保存发布结果、短信提醒。因此在发布服务器执行步骤S210之前,任务管理***会先执行以下步骤:
S110:获取待发布程序任务及所述待发布程序任务对应的程序包,所述待发布程序任务对应的程序包包括程序文件包和发布说明,所述发布说明包括发布时间、测试目标或MD5值。所述待发布程序任务对应的程序包为通过格式校验的程序包。
在此步骤中,任务管理***获取的待发布程序任务及所述待发布程序任务对应的程序包是由创建发布任务者上传到任务管理***的。
如图3所示,上传前,创建发布任务者从SVN获取所述待发布程序任务对应的程序,然后按照需求规定的打包格式进行打包。Subversion(SVN)是一个开源的控制系統,也就是说Subversion管理着随时间改变的数据。这些数据放置在一个***档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动,这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。
所述待发布程序任务对应的程序包是整个程序发布过程的主体和目标,程序发布过程目的就是及时、准确、无误的完成程序包的发布。
所述待发布程序任务对应的程序包包括程序文件包和发布说明。所述程序文件包,即要更新的程序本身,可以是1个程序项目,也可以包含多个程序项目。
所述发布说明可以是一个xml配置文件,包括更新项目、更新说明、发布时间、测试目标或MD5值。所述待发布程序任务对应的程序包在上传至任务管理***之前需要通过格式校验。
上述格式校验可以通过BAT脚本实现,对所述待发布程序任务对应的程序包进行格式和数据的检查校验,确保所述待发布程序任务对应的程序包是一个有效、规范的程序包。如果格式校验通过,则上传到所述任务管理***。如果格式校验不通过,则重新按规定格式打包待发布的程序。
S120:校验所述待发布程序任务对应的程序包。
任务管理***获取通过格式校验的所述待发布程序任务对应的程序包后,需要再次对所述待发布程序任务对应的程序包进行校验,校验所述待发布程序任务对应的程序包的完整性,检查其是否损坏。
本次校验通过MD5校验实现。所述MD5校验是通过对接收的传输数据执行散列运算来检查数据的正确性。计算出的散列值拿来和随数据传输的散列值比较。如果两个值相同,说明传输的数据完整无误、没有被窜改过(前提是散列值没有被窜改),从而可以放心使用。如果MD5校验未通过,则返回S110:获取待发布程序任务及所述待发布程序任务对应的程序包的步骤,创建发布任务者获知后需要重新上传对应的程序包。如果MD5校验通过,则执行步骤S130。
S130:如果校验通过,则自动获取所述发布说明内容。
即读取发布程序包中的发布说明内容,将更新项目、更新说明、发布时间、测试目标保存到管理***中。
在步骤S210中,程序发布服务器会定时检测任务管理***中是否有待发布程序任务,定时检测可以由linux***下shell脚本来完成,循环检测任务管理***中的任务发布状态表,如果有“未开始任务”状态,则获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中。
S220:下载所述待发布程序任务对应的程序包。
确定任务管理***中有待发布程序任务后,需将所述待发布程序任务的程序包下载到待发布队列。如果所述待发布程序任务的程序包下载失败,需发送“下载程序包失败”的结果给任务管理***,以便任务创建者或运维人员及时检查处理。
优选地,在下载所述待发布程序任务对应的程序包之后,还包括步骤S221:校验所述待发布程序任务对应的程序包,进一步对所述待发布程序任务对应的程序包进行MD5校验,确保下载的所述待发布程序任务对应的程序包内的数据是完整无损的。
如果校验不通过,需通知任务管理***。如果MD5校验通过,则执行步骤S222:解压下载后的所述待发布程序任务对应的程序包获取所述待发布程序任务对应的程序。
S240:检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取程序发布结果。
程序发布服务器中的定时任务管理器会周期性检测待发布程序任务管理列表,当检测到当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取程序发布结果。在发布所述待发布程序任务对应的程序时,可以停止相关的服务,如nginx、php-fpm等,然后进行程序发布操作,发布完成后,重启被停止服务。
程序发布过程中的发布状态有:未开始、发布中、发布完成,相关的发布状态随时反馈给任务管理***。
进一步地,如果所述发布结果为发布成功,还包括S250:根据待发布程序任务的测试目标测试,主要为根据所述测试目标进行针对性的接口或功能测试,并将测试结果发送给任务管理***。通过测试没有测试验证流程,无法保证更新是否正常运行
进一步地,还包括步骤S280:发送所述程序发布结果给所述发布任务管理***。所述发布结果包括发布成功和发布失败。
程序发布操作完成后,无论所述发布结果是发布成功还是发布失败,均需将所述发布结果提交到发布管理***中。
程序发布服务器将程序状态及程序发布结果、测试结果发送给任务管理***,以便任务创建者或运维人员可以跟踪、管理程序任务发布的相关信息,方便随时查看当前的程序发布状态和历史发布数据。
另一个实施例为原有的程序的升级或替换,如图4所示,具体执行步骤如下。
S210:定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中。
S220:下载所述待发布程序任务对应的程序包。
S230:备份所述待发布程序任务对应的原有程序。
所述待发布程序任务对应的程序包下载完成后,会进行解压,然后对要更新发布的程序备份,以便发布或测试异常后执行回滚操作。
S240:检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取程序发布结果。
进一步地,如果所述发布结果为发布成功,还包括S250:根据待发布程序任务的测试目标测试,主要为根据所述测试目标进行针对性的接口或功能测试,并将测试结果发送给任务管理***。
进一步地,还包括S260:如果所述发布结果为发布失败,则回滚即继续执行所述待发布程序任务对应的原有程序。
在执行S250:根据待发布程序任务的测试目标测试后,获取测试结果,根据所述测试结果判断是否执行步骤S270:如果所述测试结果为未通过,则回滚即继续执行所述待发布程序任务对应的原有程序。
若程序发布失败或测试未通过,又或者其他特殊情况导致发布失败的,程序将会进行自动回滚操作,不会影响其他服务。
还包括步骤S280:发送所述程序发布结果给所述发布任务管理***。所述发布结果包括发布成功和发布失败。程序发布操作完成后,无论所述发布结果是发布成功还是发布失败,均需将所述发布结果提交到发布管理***中。
本申请还提供一种程序自动发布的任务管理方法。图5为本申请实施例提供的程序自动发布的任务管理方法的流程示意图,如图5所示,所述方法包括步骤S110至S150。
S110:获取待发布程序任务及所述待发布程序任务对应的程序包,所述待发布程序任务对应的程序包包括程序文件包和发布说明,所述发布说明包括发布时间、测试目标或MD5值。所述待发布程序任务对应的程序包为通过格式校验的程序包。
任务管理***可以跟踪、管理程序任务发布的相关信息,如发布项目、程序包、发布说明、发布时间、发布结果、短信提醒记录等,方便随时查看当前的程序发布状态和历史发布数据。任务管理***是基于B/S模式的,由PHP+MYSQL实现。
任务管理***包含:获取待发布程序任务及所述待发布程序任务对应的程序包,校验所述待发布程序任务对应的程序包、配置发布信息、保存发布结果、短信提醒。
在此步骤中,任务管理***获取的待发布程序任务及所述待发布程序任务对应的程序包是由创建发布任务者上传到任务管理***的。
如图3所示,上传前,创建发布任务者从SVN获取需要发布的程序,然后按照需求规定的打包格式进行打包。
所述待发布程序任务对应的程序包是整个程序发布过程的主体和目标,程序发布过程目的就是及时、准确、无误的完成程序包的发布。
所述待发布程序任务对应的程序包包括程序文件包和发布说明。所述程序文件包,即要更新的程序本身,可以是1个程序项目,也可以包含多个程序项目。
所述发布说明可以是一个xml配置文件,包括更新项目、更新说明、发布时间、测试目标或MD5值。所述待发布程序任务对应的程序包在上传至任务管理***之前需要通过格式校验。
上述格式校验可以通过BAT脚本实现,对所述待发布程序任务对应的程序包进行格式和数据的检查校验,确保所述待发布程序任务对应的程序包是一个有效、规范的程序包。如果格式校验通过,则上传到所述任务管理***。如果格式校验不通过,则重新按规定格式打包待发布的程序。
S120:校验所述待发布程序任务对应的程序包。
任务管理***获取通过格式校验的所述待发布程序任务对应的程序包后,需要再次对所述待发布程序任务对应的程序包进行校验,校验所述待发布程序任务对应的程序包的完整性,检查其是否损坏。
本次校验通过MD5校验实现。所述MD5校验是通过对接收的传输数据执行散列运算来检查数据的正确性。计算出的散列值拿来和随数据传输的散列值比较。如果两个值相同,说明传输的数据完整无误、没有被窜改过(前提是散列值没有被窜改),从而可以放心使用。如果MD5校验未通过,则返回上传程序包的步骤。如果MD5校验通过,则执行步骤S130。
S130:如果校验通过,则自动获取所述发布说明内容。
即读取发布程序包中的发布说明内容,将更新项目、更新说明、发布时间、测试目标保存到任务管理***中。
S140:接收程序发布服务器反馈的发布状态和发布结果。
程序发布服务器将程序状态及程序发布结果和测试结果发送给任务管理***,以便任务创建者或运维人员可以跟踪、管理程序任务发布的相关信息,方便随时查看当前的程序发布状态和历史发布数据。程序发布过程中的发布状态有:未开始、发布中、发布完成、回滚中、回滚完成、测试中、测试完成等。程序发布过程中的发布结果有:下载程序失败、发布失败、测试失败、发布成功等。
S150:发送所述发布结果给创建发布任务者。
程序更新操作完成后,无论更新结果是成功或失败,均会将发布结果通过短信通知给运维、测试、开发人员。短信发送可通过第三方短信发送模块实现。短信内容至少包含信息:更新项目、更新时间、更新结果。
本申请实施例一个具体场景如图6所示,具体操作流程:
首先,创建发布任务者A从SVN获取需要发布的程序,然后按照规定的打包格式进行打包。
其次,创建发布任务者通过访问任务管理***B,创建发布任务,上传所述待发布程序任务对应的程序包,配置发布信息,如发布时间、测试目标等。任务管理***会对上传的所述待发布程序任务对应的程序包进行完整性校验,检查是否损坏。
程序发布服务器C实时监测任务管理***中是否有新的发布任务。当检测到发布任务时,立即下载所述待发布程序任务对应的程序包,并对下载的程序包进行完整性校验,然后添加到待发布程序任务管理列表的待发布队列中。
在待发布队列中,发现当前时间点有需要更新的程序时,启动更新程序相关操作:备份原有程序、停止服务、发布程序、进行测试。若发布程序失败,或者测试未通过,那么进行程序回滚操作,然后重启服务。
当发布流程完成后,无论发布结果如何,将发布结果反馈给任务管理***。
任务任务管理***检测到新的发布结果后,将结果通过短信等形式通知开发人员、测试人员和运维人员,以便实时跟踪发布结果。
本申请实施例提供的一种程序自动发布的方法及装置、一种程序自动发布的任务管理方法及装置可以自动校验程序包、自动更新、自动测试、自动提醒,方便随时查看发布状态和历史发布数据。规范发布流程,降低发布风险,提高发布的及时性、稳定性和安全性,节约人力财力成本,提高软件产品的稳定性。
与本申请提供的一种程序自动发布的方法实施例相对应,本申请还提供了一种程序自动发布的装置的实施例。参见图7,为本申请实施例提供的一种程序自动发布的装置的结构示意图,所述装置包括:
任务检测模块210,用于定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中;
下载模块220,用于下载所述待发布程序任务对应的程序包;
备份模块230,用于备份所述待发布程序任务对应的原有程序;
发布模块240,用于检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序;
测试模块250,用于根据待发布程序任务的测试目标测试;
回滚模块260,用于回滚执行所述待发布程序任务对应的原有程序;
状态及结果获取模块270,用于获取发布状态及发布结果;
反馈模块280,用于发送所述发布状态及所述发布结果给所述发布任务管理***。
与本申请提供的一种程序自动发布的任务管理方法实施例相对应,本申请还提供了一种程序自动发布的任务管理***的实施例。参见图8,为本申请实施例提供的一种程序自动发布的任务管理***的结构示意图,所述任管理***设置在任务发布管理服务器上,所述任务管理***包括接收器、处理器和发送器,其中,
所述接收器101,用于获取待发布程序任务及所述待发布程序任务对应的程序包,所述程序包包括程序文件包和发布说明,所述发布说明包括发布时间、测试目标或MD5值;还用于接收程序发布服务器反馈的发布状态和发布结果;
所述处理器102,用于校验所述程序包;如果校验通过,则自动获取所述发布说明内容;
所述发送器103,用于发送所述发布结果给创建发布任务者。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。
Claims (10)
1.一种程序自动发布的方法及装置,其特征在于,所述方法包括:
定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中;
下载所述待发布程序任务对应的程序包;
检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取发布结果;
发送所述发布结果给所述发布任务管理***。
2.根据权利要求1所述的程序自动发布的方法,其特征在于,所述下载所述待发布程序任务对应的程序包之后,还包括:
校验所述待发布程序任务对应的程序包,如果校验不通过,则返回到所述下载所述待发布程序任务对应的程序包的步骤。
3.根据权利要求1或2所述的程序自动发布的方法,其特征在于,所述获取发布结果之后,还包括:
如果所述发布结果为发布成功,根据待发布程序任务的测试目标测试。
4.根据权利要求3所述的程序自动发布的方法,其特征在于,检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序之前,还包括:
备份所述待发布程序任务对应的原有程序。
5.根据权利要求4所述的程序自动发布的方法,其特征在于,所述获取发布结果之后,还包括:
如果所述发布结果为发布失败,则回滚执行所述待发布程序任务对应的原有程序。
6.根据权利要求3所述的程序自动发布的方法,其特征在于,根据待发布程序任务的测试目标测试所述待发布程序任务对应的程序之后,还包括:
获取测试结果,如果所述测试结果为未通过,则回滚执行所述待发布程序任务对应的原有程序。
7.一种程序自动发布的装置,其特征在于,包括:
任务检测模块,用于定时检测任务管理***中是否有待发布程序任务,如果有,获取所述待发布程序任务的发布时间,将所述待发布程序任务加入待发布程序任务管理列表的待发布队列中;
下载模块,用于下载所述待发布程序任务对应的程序包;
发布模块,用于检测所述待发布程序任务管理列表,如果当前时间为所述发布时间,则发布所述待发布程序任务对应的程序,获取发布结果;
反馈模块,用于发送所述发布状态及所述发布结果给所述发布任务管理***。
8.一种程序自动发布的任务管理方法,其特征在于,所述方法包括:
获取待发布程序任务及所述待发布程序任务对应的程序包,所述所述待发布程序任务对应的程序包包括程序文件包和发布说明,所述发布说明包括发布时间、测试目标或MD5值;
校验所述待发布程序任务对应的程序包;
如果校验通过,则自动获取所述发布说明内容;
接收程序发布服务器反馈的发布状态和发布结果;
发送所述发布结果给创建发布任务者。
9.根据权利要求8所述的程序自动发布的方法,其特征在于,所述待发布程序任务对应的程序包为通过格式校验的程序包。
10.一种程序自动发布的任务管理***,其特征在于,设置在任务发布管理服务器上,所述任务管理***包括接收器、处理器和发送器,其中,
所述接收器,用于获取待发布程序任务及所述待发布程序任务对应的程序包,所述程序包包括程序文件包和发布说明,所述发布说明包括发布时间、测试目标或MD5值;还用于接收程序发布服务器反馈的发布状态及发布结果;
所述处理器,用于校验所述待发布程序任务对应的程序包;如果校验通过,则自动获取所述发布说明内容;
所述发送器,用于发送所述发布结果给创建发布任务者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811473248.4A CN109739529A (zh) | 2018-12-04 | 2018-12-04 | 一种程序自动发布的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811473248.4A CN109739529A (zh) | 2018-12-04 | 2018-12-04 | 一种程序自动发布的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109739529A true CN109739529A (zh) | 2019-05-10 |
Family
ID=66359186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811473248.4A Pending CN109739529A (zh) | 2018-12-04 | 2018-12-04 | 一种程序自动发布的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739529A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990166A (zh) * | 2019-11-15 | 2020-04-10 | 上海易点时空网络有限公司 | 用于内容发布的数据处理方法及装置 |
CN111367564A (zh) * | 2020-03-20 | 2020-07-03 | 成都药王科技股份有限公司 | 一种用于运维平台的程序迭代上线管理*** |
CN111580858A (zh) * | 2020-05-07 | 2020-08-25 | 虎扑(上海)文化传播股份有限公司 | 一种代码定时发布方法及发布*** |
CN112035161A (zh) * | 2020-08-31 | 2020-12-04 | 上海识装信息科技有限公司 | 一种小程序发布校验的方法及并行发布的方法 |
CN112631654A (zh) * | 2020-12-28 | 2021-04-09 | 厦门市美亚柏科信息股份有限公司 | 一种基于取证平台的程序联动方法和*** |
CN113596600A (zh) * | 2021-08-03 | 2021-11-02 | 广州繁星互娱信息科技有限公司 | 直播嵌入程序的安全管理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635640A (zh) * | 2009-09-04 | 2010-01-27 | 江苏天智互联科技有限公司 | Web网站***服务器终端程序的版本自动发布方法 |
CN106250548A (zh) * | 2016-08-12 | 2016-12-21 | 福建中金在线信息科技有限公司 | 一种代码更新方法 |
CN106294171A (zh) * | 2016-08-17 | 2017-01-04 | 北京奇虎科技有限公司 | 产品自动部署的测试***、方法和装置 |
CN106293811A (zh) * | 2016-07-28 | 2017-01-04 | 北京中电普华信息技术有限公司 | 一种自动打包发布方法及装置 |
WO2017041606A1 (zh) * | 2015-09-11 | 2017-03-16 | 北京金山安全软件有限公司 | 程序文件校验方法及装置、服务器和终端 |
CN108829521A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
-
2018
- 2018-12-04 CN CN201811473248.4A patent/CN109739529A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635640A (zh) * | 2009-09-04 | 2010-01-27 | 江苏天智互联科技有限公司 | Web网站***服务器终端程序的版本自动发布方法 |
WO2017041606A1 (zh) * | 2015-09-11 | 2017-03-16 | 北京金山安全软件有限公司 | 程序文件校验方法及装置、服务器和终端 |
CN106293811A (zh) * | 2016-07-28 | 2017-01-04 | 北京中电普华信息技术有限公司 | 一种自动打包发布方法及装置 |
CN106250548A (zh) * | 2016-08-12 | 2016-12-21 | 福建中金在线信息科技有限公司 | 一种代码更新方法 |
CN106294171A (zh) * | 2016-08-17 | 2017-01-04 | 北京奇虎科技有限公司 | 产品自动部署的测试***、方法和装置 |
CN108829521A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | 任务处理方法、装置、计算机设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990166A (zh) * | 2019-11-15 | 2020-04-10 | 上海易点时空网络有限公司 | 用于内容发布的数据处理方法及装置 |
CN111367564A (zh) * | 2020-03-20 | 2020-07-03 | 成都药王科技股份有限公司 | 一种用于运维平台的程序迭代上线管理*** |
CN111580858A (zh) * | 2020-05-07 | 2020-08-25 | 虎扑(上海)文化传播股份有限公司 | 一种代码定时发布方法及发布*** |
CN112035161A (zh) * | 2020-08-31 | 2020-12-04 | 上海识装信息科技有限公司 | 一种小程序发布校验的方法及并行发布的方法 |
CN112035161B (zh) * | 2020-08-31 | 2023-05-12 | 上海识装信息科技有限公司 | 一种小程序发布校验的方法及并行发布的方法 |
CN112631654A (zh) * | 2020-12-28 | 2021-04-09 | 厦门市美亚柏科信息股份有限公司 | 一种基于取证平台的程序联动方法和*** |
CN113596600A (zh) * | 2021-08-03 | 2021-11-02 | 广州繁星互娱信息科技有限公司 | 直播嵌入程序的安全管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739529A (zh) | 一种程序自动发布的方法及装置 | |
CN111399873B (zh) | 一种模型更新方法及装置 | |
US10579453B2 (en) | Stream-processing data | |
CN108196878B (zh) | 应用程序安装包的生成方法、装置、电子设备及存储介质 | |
CN104765692B (zh) | 用于自动化测试软件的方法及设备 | |
US9594549B2 (en) | Automated patch generation | |
CN103309768B (zh) | ***文件修复方法和装置 | |
KR20150033711A (ko) | 런타임 오류 복원 방법, 디바이스 및 시스템 | |
CN106293811A (zh) | 一种自动打包发布方法及装置 | |
US8775552B1 (en) | Methods and systems for distribution of technical manuals | |
AU2013270459A1 (en) | Firmware upgrade error detection and automatic rollback | |
CN105955749A (zh) | 软件项目的持续集成方法和装置 | |
US20160246699A1 (en) | Verification of product release requirements | |
CN107025224B (zh) | 一种监控任务运行的方法和设备 | |
CN113111000B (zh) | 持续集成自动化测试***和方法、电子设备、存储介质 | |
CN104317607A (zh) | 一种企业In-house IOS APP自动升级***与方法 | |
US20210042216A1 (en) | Detecting problematic code changes | |
CN105045617B (zh) | 一种Android***的应用恢复方法及*** | |
CN110489161B (zh) | 一种版本文件的管理方法及相关装置 | |
US10846212B2 (en) | Evidence gathering system and method | |
CN106055326A (zh) | 一种程序处理方法及调度服务器 | |
CN110780981B (zh) | 一种hadoop大数据平台的任务调度管理***及方法 | |
US20110184916A1 (en) | Incremental and prioritized restoration of blocks | |
CN110716737A (zh) | ***应用版本管理***及***应用版本管理方法 | |
US8250407B1 (en) | Methods and systems for correction of data transactions |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190510 |
|
RJ01 | Rejection of invention patent application after publication |