CN107193582A - 发布方法及系统 - Google Patents

发布方法及系统 Download PDF

Info

Publication number
CN107193582A
CN107193582A CN201710221192.2A CN201710221192A CN107193582A CN 107193582 A CN107193582 A CN 107193582A CN 201710221192 A CN201710221192 A CN 201710221192A CN 107193582 A CN107193582 A CN 107193582A
Authority
CN
China
Prior art keywords
deployment
treat
parallel
file
deployment file
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.)
Granted
Application number
CN201710221192.2A
Other languages
English (en)
Other versions
CN107193582B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710221192.2A priority Critical patent/CN107193582B/zh
Publication of CN107193582A publication Critical patent/CN107193582A/zh
Application granted granted Critical
Publication of CN107193582B publication Critical patent/CN107193582B/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/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Abstract

本发明提供一种发布方法及系统,该方法包括:并行下载若干待部署模块;根据预配置的过滤策略从各待部署模块中筛选出若干待部署文件;对各待部署文件进行冲突检测;将各待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像。本发明通过对各待部署模块进行冲突检测,保障了模块化并行下载和并行部署的可行性,从而提供了一种模块化并行部署的发布机制,无需构建、下载和部署全量包,加快了构建和部署的速度,降低了回归测试成本,提升了业务迭代中发布环节的效率,降低了发布的风险。

Description

发布方法及系统
技术领域
本申请涉及计算机网络技术领域,具体涉及一种发布方法及系统。
背景技术
大型互联网业务为了快速满足用户日新月异的需求,产品的迭代速度非常快;参与大型业务开发的团队也逐渐增大,出现多个团队同时维护一个产品;为了提升服务质量,和用户体验,都会在多地域,建设对应的机房。
现有的部署方法通常采用全量镜像(full image)更新的方式。也就是说,将整个业务的代码打成一个整包,然后通过发布系统,发布到线上进行变更。
上述现有部署方法的缺陷在于:全量包的构建速度慢,通常需要将各模块全部编译后再发布;以及,全量包的数据量较大,传输成本高,带宽消耗大;此外,全量包的回归测试成本高,需要对多次发布的功能全部进行整体功能回归。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种构建和部署速度较快、传输成本和回归测试成本较低的发布方法及系统。
第一方面,本发明提供一种发布方法,该方法包括:
并行下载若干待部署模块;
根据预配置的过滤策略从各待部署模块中筛选出若干待部署文件;
对各待部署文件进行冲突检测;
将各待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像。
第二方面,本发明提供另一种发布方法,该方法包括:
并行下载若干待部署文件包;
根据所下载的各待部署文件包进行以下至少一项操作:并行部署,更新镜像。
其中,待部署文件包由构建端通过并行下载若干待部署模块,根据预配置的过滤策略筛选出若干待部署文件,根据各待部署文件的全路径进行冲突检测后打包生成。
第三方面,本发明提供一种构建端,包括:
第一并行下载单元,配置用于并行下载若干待部署模块;
过滤单元,配置用于根据预配置的过滤策略从各待部署模块中筛选出若干待部署文件;
冲突检测单元,配置用于对各待部署文件进行冲突检测;
构建单元,配置用于将各待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像。
第四方面,本发明还提供一种部署端,包括:
第二并行下载单元,配置用于并行下载若干待部署文件包;
并行部署单元,配置用于根据所下载的各待部署文件包进行并行部署;
镜像更新单元,配置用于根据所下载的各待部署文件包进行更新镜像。
其中,待部署文件包由构建端通过并行下载若干待部署模块,根据预配置的过滤策略筛选出若干待部署文件并进行冲突检测后打包生成。
第五方面,本发明提供一种发布系统,该系统包括若干如以上第三方面所述的构建端,以及,若干如以上第四方面所述的部署端。
第六方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的发布方法。
第七方面,本发明还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序使计算机执行根据本发明各实施例提供的发布方法。
本发明诸多实施例提供的发布方法及系统通过对各待部署模块进行冲突检测,保障了模块化并行下载和并行部署的可行性,从而提供了一种模块化并行部署的发布机制,无需构建、下载和部署全量包,加快了构建和部署的速度,降低了回归测试成本,提升了业务迭代中发布环节的效率,降低了发布的风险;
本发明一些实施例提供的发布方法及系统进一步通过将全路径列表与当前其它发布进程中的全路径列表进行比对以进一步检测冲突风险,保障了多个发布进程并行实施的可行性,进一步提高了发布速度;
本发明一些实施例提供的发布方法及系统进一步通过在并行部署中采用差分部署的方式,进一步减少了部署的数据量和所花费的时间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种发布方法的流程图。
图2为图1所示方法的一种优选实施方式中步骤S11的流程图。
图3为图1所示方法的一种优选实施方式中步骤S13的流程图。
图4为图1所示方法的一种优选实施方式中步骤S15的流程图。
图5为图4所示步骤S15的一种优选实施方式的流程图。
图6为本发明一实施例提供的另一种发布方法的流程图。
图7为图6所示方法的一种优选实施方式中步骤S23的流程图。
图8为图7所示步骤S23的一种优选实施方式的流程图。
图9为本发明一实施例提供的一种构建端的结构示意图。
图10为图9所示构建端的一种优选实施方式的结构示意图。
图11为图9所示构建端的一种优选实施方式的结构示意图。
图12为本发明一实施例提供的一种部署端的结构示意图。
图13为图12所示部署端的一种优选实施方式的结构示意图。
图14为图13所示部署端的一种优选实施方式的结构示意图。
图15为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的发布方法的流程图。
如图1所示,在本实施例中,本发明提供的发布方法包括:
S11:并行下载若干待部署模块;
S13:根据预配置的过滤策略从各待部署模块中筛选出若干待部署文件;
S15:对各待部署文件进行冲突检测;
S17:将各待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像。
具体地,在步骤S11中,当各开发团队或维护团队在短时间内分别提交多个待部署模块时,对这些待部署模块进行并行下载,并分别校验所下载的各待部署模块的数据是否正确。
在步骤S13中,可以根据实际需求配置不同的过滤策略,例如对于不同版本的产品可分别采用不同的过滤策略,或对于针对不同用户对象所分别部署的产品可分别采用不同的过滤策略,等。根据预配置的对应于待发布产品的过滤策略从各待部署模块中筛选出若干待部署文件。
在步骤S15中,具体可以根据实际需求配置为根据各待部署文件的全路径、路径、文件名、文件版本号、文件身份码、文件验证码(例如md5等)等任意一项或多项信息进行冲突检测,判断各待部署模块是否同时包括全路径相同的待部署文件,而导致冲突风险。
当检测到冲突风险时,可以配置为提示风险以供人工审核处理,也可以配置为根据文件版本号、文件身份码或文件验证码自动判断文件是否相同以进行自动处理,还可以配置为在自动处理后由人工复核,等。
若全路径相同的各待部署文件为不同文件,则需要回滚处理;若为相同文件,则覆盖后可进入步骤S17。
在步骤S17中,将通过冲突检测的各待部署文件打包,并将打包生成的待部署文件包存入所关联的分布式存储集群,例如NFS或者HDFS等共享式的文件网络存储集群,以供部署端并行下载并校验,以进行并行部署和/或更新镜像,最终完成本次产品发布。
在本实施例中,步骤S17中将待部署文件包存入所关联的分布式存储集群,在更多实施例中,还可根据实际需求配置为将待部署文件包存入所关联的其它类型存储集群,例如集中式的存储集群,或,存储在本地存储设备中,例如SATA磁盘或SSD磁盘等。
上述实施例通过对各待部署模块进行冲突检测,保障了模块化并行下载和并行部署的可行性,从而提供了一种模块化并行部署的发布机制,无需构建、下载和部署全量包,加快了构建和部署的速度,降低了回归测试成本,提升了业务迭代中发布环节的效率,降低了发布的风险。
图2为图1所示方法的一种优选实施方式中步骤S11的流程图。
如图2所示,在一优选实施例中,步骤S11包括:
S111:获取各待部署模块的参数以分别生成各待部署模块的数据源地址;
S113:根据各数据源地址并行下载各待部署模块。
具体地,在本实施例中,步骤S111中的参数包括模块类型(例如git或svn等)、模块路径以及版本号。在更多实施例中,该参数还可根据实际需求配置为上述任意一项或多项,乃至于其它本领域常用的模块相关的参数。
图3为图1所示方法的一种优选实施方式中步骤S13的流程图。
如图3所示,在一优选实施例中,步骤S13包括:
S131:获取预配置的白名单和/或黑名单;
S133:根据白名单和/或黑名单从各待部署模块中筛选出若干待部署文件。
具体地,白名单包括若干指定需要部署的文件的信息,以供筛选出指定需要部署的文件;黑名单包括若干指定不需要部署的文件的信息,以供筛除指定不需要部署的文件。
在另一实施例中,上述白名单或黑名单也可配置在本地,并由对应的配置人员获取其配置权限后进行预配置,以供筛选待部署文件。
图4为图1所示方法的一种优选实施方式中步骤S15的流程图。
如图4所示,在一优选实施例中,步骤S15包括:
S151:遍历生成各待部署文件的全路径列表;
S152:比对该全路径列表中的各全路径,判断是否存在全路径相同的待部署文件:
若存在,则执行步骤S153:提示冲突风险以供选择进行覆盖,或,回滚并结束。
在另一些实施例中,步骤S153中还可采用上述自动判断并处理的处理机制,或自动处理后人工复核的处理机制,可实现相同的技术效果。
图5为图4所示步骤S15的一种优选实施方式的流程图。
如图5所示,在一优选实施例中,步骤S15进一步还包括:
S154:将全路径列表与当前其它发布进程中的全路径列表进行比对,判断是否存在全路径相同的待部署文件:
若存在,则执行步骤S155:提示冲突风险以供选择进行覆盖,或,回滚并结束。
与图4所示实施例相似地,步骤S155中同样可采用上述自动判断并处理的处理机制,或自动处理后人工复核的处理机制,可实现相同的技术效果。
上述实施例进一步通过将全路径列表与当前其它发布进程中的全路径列表进行比对以进一步检测冲突风险,保障了多个发布进程并行实施的可行性,进一步提高了发布速度。
在一优选实施例中,上述步骤S17进一步还包括:生成对应于待部署文件包的验证码,以供部署端获取并验证所下载的待部署文件包。
图6为本发明一实施例提供的另一种发布方法的流程图。
如图6所示,在本实施例中,本发明提供的另一种发布方法包括:
S21:并行下载若干待部署文件包;
S23:根据所下载的各待部署文件包进行以下至少一项操作:并行部署,更新镜像;
其中,待部署文件包由构建端通过执行上述图1-5所示的任一发布方法生成。
具体地,在步骤S21中,构建端执行上述图1-5所示的任一发布方法时,步骤S17中可能打包生成一个或多个待部署文件包,同时,可能存在多个构建端在短时间内同时执行上述图1-5所示的任一发布方法,而生成多个待部署文件包,对这些待部署文件包进行并行下载。
在步骤S23中,根据步骤S21所下载的各待部署文件包进行并行部署和/或更新镜像。具体地,可以根据实际需求配置为并行更新镜像或串行更新镜像。例如,当每次部署镜像服务之后,要对其加上版本,并且将其存储用来进行弹性伸缩的扩容用时,即可配置为串行更新镜像。
图7为图6所示方法的一种优选实施方式中步骤S23的流程图。
如图7所示,在一优选实施例中,步骤S23包括:
S233:解压各待部署文件包,与正式生产环境中的文件进行差分对比以筛选出若干差分部署文件;
S235:并行部署各差分部署文件。
本实施例进一步通过在并行部署中采用差分部署的方式,进一步减少了部署的数据量和所花费的时间。
在另一实施例中,也可根据实际需求将并行部署配置为全量部署并覆盖相同文件的部署方式。
图8为图7所示步骤S23的一种优选实施方式的流程图。
如图8所示,在一优选实施例中,步骤S233之前还包括:S231:停止当前运行的对应的服务,屏蔽对应的报警。
步骤S235之后还包括:S237:重新启动对应的服务,解除对对应报警的屏蔽。
图9为本发明一实施例提供的一种构建端的结构示意图。图9所示的构建端可对应执行图1所示的发布方法。
如图9所示,在本实施例中,本发明提供的一种构建端包括第一并行下载单元11、过滤单元13、冲突检测单元15和构建单元17。
其中,第一并行下载单元11配置用于并行下载若干待部署模块。
过滤单元13配置用于根据预配置的过滤策略从各待部署模块中筛选出若干待部署文件。
冲突检测单元15配置用于对各待部署文件进行冲突检测。
构建单元17配置用于将各待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像。
图9所示构建端的发布原理参见图1所示的方法,此处不再赘述。
图10为图9所示构建端的一种优选实施方式的结构示意图。图10所示的构建端可对应执行图2所示的发布方法。
如图10所示,在一优选实施例中,第一并行下载单元11进一步包括协议转换子单元111和并行下载子单元113。
其中,协议转换子单元111配置用于获取各待部署模块的参数以分别生成各待部署模块的数据源地址。
并行下载子单元113配置用于根据各数据源地址并行下载各待部署模块。
在一优选实施例中,过滤单元13进一步配置用于获取预配置的白名单和/或黑名单,以及,根据白名单和/或黑名单从各待部署模块中筛选出若干待部署文件。具体过滤原理可参见上述图3所示的方法,此处不再赘述。
图11为图9所示构建端的一种优选实施方式的结构示意图。图11所示的构建端可对应执行图4或图5所示的发布方法。
如图11所示,在一优选实施例中,冲突检测单元15包括第一检测子单元151。
具体地,第一检测子单元151配置用于遍历生成各待部署文件的全路径列表,以及,比对全路径列表中的各全路径,判断是否存在全路径相同的待部署文件:若存在,则提示冲突风险以供选择进行覆盖,或,回滚并结束。本实施例中的冲突检测原理可参见图4所示的发布方法。
同样如图11所示,在一优选实施例中,冲突检测单元15还包括第二检测子单元153。
具体地,第二检测子单元153配置用于将该全路径列表与当前其它发布进程中的全路径列表进行比对,判断是否存在全路径相同的待部署文件:若存在,则提示冲突风险以供选择进行覆盖,或,回滚并结束。本实施例中的冲突检测原理可参见图5所示的发布方法。
在一优选实施例中,构建单元17进一步配置用于生成对应于待部署文件包的验证码,以供部署端获取并验证所下载的待部署文件包。
图12为本发明一实施例提供的一种部署端的结构示意图。图12所示的部署端可对应执行图6所示的发布方法。
如图12所示,在本实施例中,本发明提供的一种部署端包括第二并行下载单元21、并行部署单元23和镜像更新单元25。
第二并行下载单元21配置用于并行下载若干待部署文件包。
并行部署单元23配置用于根据所下载的各待部署文件包进行并行部署。
镜像更新单元25配置用于根据所下载的各待部署文件包进行更新镜像。
其中,该待部署文件包由上述图9-11所示的任一构建端生成。
图12所示部署端的发布原理参见图6所示的方法,此处不再赘述。
图13为图12所示部署端的一种优选实施方式的结构示意图。图13所示的部署端可对应执行图7所示的发布方法。
如图13所示,在一优选实施例中,并行部署单元23包括差分比对子单元231和并行部署子单元233。
差分比对子单元231配置用于解压各待部署文件包,与正式生产环境中的文件进行差分对比以筛选出若干差分部署文件。
并行部署子单元233配置用于并行部署各差分部署文件。
图14为图13所示部署端的一种优选实施方式的结构示意图。图14所示的部署端可对应执行图8所示的发布方法。
如图14所示,在一优选实施例中,并行部署单元23进一步还包括部署环境配置子单元235。
具体地,部署环境配置子单元235配置用于在差分对比之前停止当前运行的对应的服务,屏蔽对应的报警,以及在并行部署之后重新启动该对应的服务,解除对该对应的报警的屏蔽。
在一优选实施例中,第二并行下载单元21进一步配置用于获取各待部署文件包的验证码并分别进行验证。
更进一步地,本发明还提供一种发布系统,该系统包括若干上述如图9-11所示的任一构建端,以及,若干如图12-14所示的任一部署端。
具体地,在本实施例中,本发明提供的发布系统还包括一个分布式存储集群,用于存储各构建单元17打包生成的待部署文件包,并提供足够的IO和网卡带宽,以供各部署端进行下载。在更多实施例中,也可将该分布式存储集群配置为不同类型的存储集群。
在另一实施例中,根据实际需求,例如针对小规模线上业务部署场景的需求,上述发布系统也可以不包括存储集群,各构建单元17分别将打包生成的待部署文件包存储在构建端本地的存储设备中,以供各部署端进行下载。
图15为本发明一实施例提供的一种设备的结构示意图。
如图15所示,作为另一方面,本申请还提供了一种设备1500,包括一个或多个中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。在RAM1503中,还存储有设备1500操作所需的各种程序和数据。CPU1501、ROM1502以及RAM1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本公开的实施例,上述任一实施例描述的发布方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行发布方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。
在一优选实施例中,存储部分1508还进一步用于存储执行发布方法时所生成的待部署文件包。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的发布方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (27)

1.一种发布方法,其特征在于,所述方法包括:
并行下载若干待部署模块;
根据预配置的过滤策略从各所述待部署模块中筛选出若干待部署文件;
对各所述待部署文件进行冲突检测;
将各所述待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像。
2.根据权利要求1所述的发布方法,其特征在于,所述并行下载若干待部署模块包括:
获取各待部署模块的参数以分别生成各所述待部署模块的数据源地址;
根据各所述数据源地址并行下载各所述待部署模块。
3.根据权利要求2所述的发布方法,其特征在于,所述参数包括以下至少一项:模块类型,模块路径,版本号。
4.根据权利要求1所述的发布方法,其特征在于,所述根据预配置的过滤策略从各所述待部署模块中筛选出若干待部署文件包括:
获取预配置的白名单和/或黑名单;所述白名单包括若干指定需要部署的文件的信息;所述黑名单包括若干指定不需要部署的文件的信息;
根据所述白名单和/或黑名单从各所述待部署模块中筛选出若干待部署文件。
5.根据权利要求1-4任一项所述的发布方法,其特征在于,所述对各所述待部署文件进行冲突检测包括:
遍历生成各待部署文件的全路径列表;
比对所述全路径列表中的各全路径,判断是否存在全路径相同的待部署文件:若存在,则提示冲突风险以供选择进行覆盖,或,回滚并结束。
6.根据权利要求5所述的发布方法,其特征在于,所述对各所述待部署文件进行冲突检测还包括:
将所述全路径列表与当前其它发布进程中的全路径列表进行比对,判断是否存在全路径相同的待部署文件:若存在,则提示冲突风险以供选择进行覆盖,或,回滚并结束。
7.根据权利要求1-4任一项所述的发布方法,其特征在于,所述将各所述待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像还包括:
生成对应于所述待部署文件包的验证码,以供部署端获取并验证所下载的待部署文件包。
8.一种发布方法,其特征在于,所述方法包括:
并行下载若干待部署文件包;
根据所下载的各待部署文件包进行以下至少一项操作:并行部署,更新镜像;
其中,所述待部署文件包由构建端通过并行下载若干待部署模块,根据预配置的过滤策略筛选出若干待部署文件并进行冲突检测后打包生成。
9.根据权利要求8所述的发布方法,其特征在于,所述根据所下载的各待部署文件包进行并行部署包括:
解压各所述待部署文件包,与正式生产环境中的文件进行差分对比以筛选出若干差分部署文件;
并行部署各所述差分部署文件。
10.根据权利要求9所述的发布方法,其特征在于,所述解压各所述待部署文件包,与正式生产环境中的文件进行差分对比以筛选出若干差分部署文件之前还包括:停止当前运行的对应的服务,屏蔽对应的报警;
所述并行部署各所述差分部署文件之后还包括:重新启动所述服务,解除对所述报警的屏蔽。
11.根据权利要求8-10任一项所述的发布方法,其特征在于,所述并行下载若干待部署文件包还包括:
获取各所述待部署文件包的验证码并分别进行验证。
12.一种构建端,其特征在于,包括:
第一并行下载单元,配置用于并行下载若干待部署模块;
过滤单元,配置用于根据预配置的过滤策略从各所述待部署模块中筛选出若干待部署文件;
冲突检测单元,配置用于对各所述待部署文件进行冲突检测;
构建单元,配置用于将各所述待部署文件打包成待部署文件包,以供部署端并行下载并进行以下至少一项操作:并行部署,更新镜像。
13.根据权利要求12所述的构建端,其特征在于,所述第一并行下载单元包括:
协议转换子单元,配置用于获取各待部署模块的参数以分别生成各所述待部署模块的数据源地址;
并行下载子单元,配置用于根据各所述数据源地址并行下载各所述待部署模块。
14.根据权利要求13所述的构建端,其特征在于,所述参数包括以下至少一项:模块类型,模块路径,版本号。
15.根据权利要求12所述的构建端,其特征在于,所述过滤单元进一步配置用于获取预配置的白名单和/或黑名单,以及,根据所述白名单和/或黑名单从各所述待部署模块中筛选出若干待部署文件;
其中,所述白名单包括若干指定需要部署的文件的信息;所述黑名单包括若干指定不需要部署的文件的信息。
16.根据权利要求12-15任一项所述的构建端,其特征在于,所述冲突检测单元包括:
第一检测子单元,配置用于遍历生成各待部署文件的全路径列表,以及,比对所述全路径列表中的各全路径,判断是否存在全路径相同的待部署文件:若存在,则提示冲突风险以供选择进行覆盖,或,回滚并结束。
17.根据权利要求16所述的构建端,其特征在于,所述冲突检测单元还包括:
第二检测子单元,配置用于将所述全路径列表与当前其它发布进程中的全路径列表进行比对,判断是否存在全路径相同的待部署文件:若存在,则提示冲突风险以供选择进行覆盖,或,回滚并结束。
18.根据权利要求12-15任一项所述的构建端,其特征在于,所述构建单元进一步配置用于生成对应于所述待部署文件包的验证码,以供部署端获取并验证所下载的待部署文件包。
19.一种部署端,其特征在于,包括:
第二并行下载单元,配置用于并行下载若干待部署文件包;
并行部署单元,配置用于根据所下载的各待部署文件包进行并行部署;
镜像更新单元,配置用于根据所下载的各待部署文件包进行更新镜像;
其中,所述待部署文件包由构建端通过并行下载若干待部署模块,根据预配置的过滤策略筛选出若干待部署文件并进行冲突检测后打包生成。
20.根据权利要求19所述的部署端,其特征在于,所述并行部署单元包括:
差分比对子单元,配置用于解压各所述待部署文件包,与正式生产环境中的文件进行差分对比以筛选出若干差分部署文件;
并行部署子单元,配置用于并行部署各所述差分部署文件。
21.根据权利要求20所述的部署端,其特征在于,所述并行部署单元还包括:
部署环境配置子单元,配置用于在差分对比之前停止当前运行的对应的服务,屏蔽对应的报警,以及在并行部署之后重新启动所述服务,解除对所述报警的屏蔽。
22.根据权利要求19-21任一项所述的部署端,其特征在于,所述第二并行下载单元进一步配置用于获取各所述待部署文件包的验证码并分别进行验证。
23.一种发布系统,其特征在于,所述系统包括若干如权利要求12-18任一项所述的构建端,以及,若干如权利要求19-22任一项所述的部署端。
24.根据权利要求23所述的发布系统,其特征在于,还包括至少一个存储集群;
所述存储集群配置用于存储所述构建单元打包生成的待部署文件包,以供所述部署端进行下载。
25.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7任一项所述的方法,或,如权利要求8-11任一项所述的方法。
26.根据权利要求25所述的设备,其特征在于,所述处理器配置用于执行如权利要求1-7任一项所述的方法时,所述存储器还配置用于存储所述构建单元打包生成的待部署文件包,以供所述部署端进行下载。
27.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项所述的方法,或,如权利要求8-11任一项所述的方法。
CN201710221192.2A 2017-04-06 2017-04-06 发布方法及系统 Active CN107193582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710221192.2A CN107193582B (zh) 2017-04-06 2017-04-06 发布方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710221192.2A CN107193582B (zh) 2017-04-06 2017-04-06 发布方法及系统

Publications (2)

Publication Number Publication Date
CN107193582A true CN107193582A (zh) 2017-09-22
CN107193582B CN107193582B (zh) 2021-06-18

Family

ID=59871406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710221192.2A Active CN107193582B (zh) 2017-04-06 2017-04-06 发布方法及系统

Country Status (1)

Country Link
CN (1) CN107193582B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678969A (zh) * 2017-10-18 2018-02-09 广东神马搜索科技有限公司 测试版本发布方法、装置、版本控制设备和测试机
CN109523611A (zh) * 2018-11-28 2019-03-26 百度在线网络技术(北京)有限公司 验证码图片生成方法和装置
CN113986835A (zh) * 2021-10-27 2022-01-28 平安国际智慧城市科技股份有限公司 FastDFS分布式文件的管理方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587495A (zh) * 2009-07-08 2009-11-25 伍帝州 通过浏览器下载部署应用并提供应用入口的方法及系统
CN102323884A (zh) * 2011-09-07 2012-01-18 山东中创软件工程股份有限公司 一种多Web服务发布的方法及Web服务容器
US20130067448A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Application deployment
CN105930182A (zh) * 2016-04-13 2016-09-07 北京思特奇信息技术股份有限公司 一种分布式代码版本发布系统及方法
CN106445541A (zh) * 2016-09-30 2017-02-22 华胜信泰信息产业发展有限公司 软件构建方法、软件构建装置和软件构建系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101587495A (zh) * 2009-07-08 2009-11-25 伍帝州 通过浏览器下载部署应用并提供应用入口的方法及系统
CN102323884A (zh) * 2011-09-07 2012-01-18 山东中创软件工程股份有限公司 一种多Web服务发布的方法及Web服务容器
US20130067448A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Application deployment
CN105930182A (zh) * 2016-04-13 2016-09-07 北京思特奇信息技术股份有限公司 一种分布式代码版本发布系统及方法
CN106445541A (zh) * 2016-09-30 2017-02-22 华胜信泰信息产业发展有限公司 软件构建方法、软件构建装置和软件构建系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678969A (zh) * 2017-10-18 2018-02-09 广东神马搜索科技有限公司 测试版本发布方法、装置、版本控制设备和测试机
CN109523611A (zh) * 2018-11-28 2019-03-26 百度在线网络技术(北京)有限公司 验证码图片生成方法和装置
CN109523611B (zh) * 2018-11-28 2023-05-09 百度在线网络技术(北京)有限公司 验证码图片生成方法和装置
CN113986835A (zh) * 2021-10-27 2022-01-28 平安国际智慧城市科技股份有限公司 FastDFS分布式文件的管理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107193582B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
US10733087B2 (en) Environment for continuous testing and integration of software
Liu et al. Crystalnet: Faithfully emulating large production networks
US9508039B2 (en) Deployment pattern realization with models of computing environments
US10628145B2 (en) Scalable and secure analytic model integration and deployment platform
US8881139B1 (en) Legacy application rehosting system
US20120260245A1 (en) Model driven deployment of composite applications
US9569204B2 (en) End-to-end continuous integration and verification of software
JP7050106B2 (ja) 実行可能分析モジュールをインスタンス化する方法
CN107193582A (zh) 发布方法及系统
US20180121171A1 (en) Integrated development environment for analytic authoring
US20180121258A1 (en) Self-aware and self-registering software & analytics platform components
CN105159686B (zh) 一种网站页面开发方法和装置
US20160335069A1 (en) Dependency handling for software extensions
JP6256115B2 (ja) 操作探索プログラム、操作探索方法、および操作探索装置
CN106933591A (zh) 代码合并的方法及装置
WO2022015772A1 (en) Configuration files for multiple devices
US9716625B2 (en) Identifying compatible system configurations
US20160335068A1 (en) Checks for software extensions
WO2011016798A1 (en) Linking model instances to packages
US20120066669A1 (en) Creating a superseding software release
US8935144B2 (en) System and method for examining concurrent system states
CN107678969A (zh) 测试版本发布方法、装置、版本控制设备和测试机
Kroening et al. Automating software analysis at large scale
WO2017053434A1 (en) Design-time, metadata-based representation of real-time applications and message schemas
CA2772225A1 (en) Version numbering in single development and test environment

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