一种应用程序自动上线方法及系统的制作方法

文档序号:9396795阅读:424来源:国知局
一种应用程序自动上线方法及系统的制作方法
【技术领域】
[0001]本发明涉及应用上线技术领域,具体涉及一种应用程序自动上线方法及系统。
【背景技术】
[0002]目前的应用程序上线主要是采用人工上线方式,对应用程序人工上线存在以下问题:
[0003](I)直接登录生产主机进行操作,有可能造成误操作,导致系统崩溃;
[0004](2)程序多:各应用需部署执行的脚本较多,重新停启的进程较多;
[0005](3)经常熬夜通宵:每次上线,所有开发人员、测试人员、用户都要通宵熬夜,极其损耗体力和精力,长期以往,有害身体健康;
[0006](4)错误反复多:因人工操作主机多,总会出现错误,反反复复;
[0007](5)文件溯源性差:对于原来的文件备份命名上没有规律性,根本分不清是谁做的需求,没法在第一时间找到责任人进行修复和调整;
[0008](6)上线后恢复慢:如果遇到上线出错情况,需要逐台登录主机手工恢复原状态,非常耗时;
[0009](7)测试时间长:上线以后需要对每台机子每个端口进行测试,非常耗费时间。

【发明内容】

[0010]本发明所要解决的技术问题是提供一种应用程序自动上线方法及系统,解决目前人工上线存在效率低、频出错的局面。
[0011]本发明解决上述技术问题的技术方案如下:
[0012]—方面,本发明提供了一种应用程序自动上线方法,所述方法包括:
[0013]S1、在运维平台上创建需要上线的至少一个应用程序,并从预先配置的操作指令集合中为每一个所述应用程序选择对应的操作指令;S2、为创建的每一个所述应用程序分配测试主机,并在分配的所述测试主机上执行该应用程序的测试;
[0014]S3、将测试通过的应用程序进行发布更新。
[0015]另一方面,本发明提供了一种应用程序自动上线系统,所述系统包括运维平台和多个测试主机;
[0016]所述运维平台包括:
[0017]应用程序创建模块,用于新建需要上线的至少一个应用程序;
[0018]操作指令选择模块,用于从预先配置的操作指令集合中为每一个所述应用程序选择对应的操作指令以创建所述至少一个应用程序;
[0019]测试主机分配模块,用于为创建的每一个所述应用程序分配测试主机;
[0020]应用程序发布模块,用于将测试通过的应用程序进行发布更新;
[0021]所述测试主机包括:
[0022]测试执行模块,用于对分配的应用程序执行测试。
[0023]本发明提供的一种应用程序自动上线方法及系统,创建需要上线的应用程序,并为创建的每一个应用程序配置对应的操作指令,然后为每一个应用程序配置对应的测试主机,以使应用程序在对应的测试主机上执行测试,对于测试通过的应用程序,则对其进行发布。本发明能够实现各个应用程序的自动测试上线,加快和提高了应用程序上线的速度和质量,扭转了现有长期以来人工上线存在的效率低、频出错的局面。
【附图说明】
[0024]图1为本发明实施例以的一种应用程序自动上线方法流程图;
[0025]图2为本发明实施例一中配置各操作指令流程图;
[0026]图3为本发明实施例一中创建需求上线的应用程序流程图;
[0027]图4为本发明实施例一中对创建的应用程序进行编辑修改示意图;
[0028]图5为本发明实施例一中各应用程序在对应的测试主机上执行测试流程图;
[0029]图6为本发明实施例一中对测试通过的应用程序进行发布流程图;
[0030]图7为本发明实施例一中对已发布的应用程序配置其操作权限流程图;
[0031]图8为本发明实施例二的一种应用程序自动上线系统示意图。
【具体实施方式】
[0032]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0033]实施例一、一种应用程序自动上线方法。下面结合图1-图7对本实施例提供的方法进行详细说明。
[0034]图1中,S1、在运维平台上创建需要上线的至少一个应用程序,并从预先配置的操作指令集合中为每一个所述应用程序选择对应的操作指令。
[0035]具体的,若需要对众多个应用程序上线时,由于每一个应用程序均包含若干个操作指令,参见图2,首先在运维平台(也可以称为自动化上线系统)上配置需要最终执行的各类操作指令。比如,可以配置如下类型的操作指令:停进程、程序代码上传、配置文件更新、启动服务、业务监测、系统回退以及系统资源监测等。首先打开配置操作指令的页面,输入操作指令名称,然后在编辑框内输入该操作指令内容,最后进行保存入库,重复配置所有的操作指令。
[0036]每一类操作指令,对应一串系统命令,对各类操作指令进行配置时,相当于配置操作指令模板,由具体调用者传入参数,生成最终可执行的操作指令。比如,配置如下类型的操作指令:
[0037](I)备份:关联已经注册的备份指令序列。
[0038](2)停进程:关联已经注册的停进程指令序列。
[0039](3)代码上传:将要更新的程序打包,从svn获取到本地,上传到运维平台指定目录,选择上传文件到生产主机目标目录sftp (安全文件传送协议)更新(支持多主机)。
[0040](4)对于电子渠道,备份文件不允许出现在生产主机,需要备份到准生产环境,文件上传也需要从准生产取到运维平台,然后上传到生产主机,因此,需要增加几个指令,如从准生产取文件到运维平台,从运维平台上传文件到生产。
[0041](5)编译:关联已注册的编译指令。
[0042](6)配置文件更新:系统配置文件预先一次配置好,当有更新操作时,支持选择操作类型(增加,修改,删除)。
[0043](7)数据库配置更新:支持执行sq I脚本文件,修改数据库配置。操作完成后,对修改的结果进行返回展现。
[0044](8)调度更新:支持通过在线修改,同时支持命令序列执行修改,选择对应主机及用户的crontab,选择操作类型,输入修改内容。源内容可以通过在线查看。
[0045](9)启服务:配置服务启用要进行的操作,多主机多用户串行操作,提示每步的操作结果。
[0046](10)业务监测:配置业务监测要执行的指令集合。
[0047]当对各类操作指令进行配置后,形成操作指令集合,将配置的操作指令按照预定命名规则进行命名,比如,本实施例采用“各操作指令的功能名称+开发人员名称+时间”的方式对各操作指令进行命名,并将命名好的各个操作指令存储于运维平台。
[0048]随后,参见图3,创建需要测试上线的各应用程序,并从预先配置的操作指令集合中为每一个新建的应用程序选择若干个操作指令组成一个应用程序实例,至此,创建需要测试上线的每一个应用程序完毕。
[0049]另外,当配置完各个操作指令后,还可以根据对各操作指令的操作权限对各操作指令进行相应的操作,参见图4,比如,在该应用程序中增加操作指令或者对修改某操作指令或删除某操作指令。
[0050]S2、为创建的每一个所述应用程序分配测试主机,并在分配的所述测试主机上执行该应用程序的测试。
[0051]具体的,当步骤SI创建了需要测试上线的若干个应用程序之后,参见图5,本步骤为这些需要测试上线的应用程序配置相应的测试主机(即应用程序最后在哪台测试主机上执行测试),其中,在一台测试主机上可以对多个应用程序进行测试,因此,应用程序与测试主机为多对一的对应关系。
[0052]由于测试主机对应有操作人员的操作权限(即某台特定的测试主机只有某几个执行人员才能使用),因此,为各应用程序配置了对应的测试主机,还需要选择执行测试的执行人员。
[0053]随后,运维平台将各应用程序同步分发给对应的测试主机,比如,运维平台通过SFTP (Secure File Transfer Protocol,安全文件传送协议)将各应用程序同步分发给对应的测试主机。各测试主机接收到需要测试上线的应用程序时,对对应的各应用程序执行测试,并将测试后的测试结果上传给运维平台。运维平台将接收到的测试结果与预期结果进行对比,若返回的测试结果与预期结果相同,则对应的应用程序测试通过,否则,对应的应用程序测试失败。另外,对于各测试主机对相应的应用程序执行测试的操作轨迹进行记录,以便当应用程序执行测试过程出现问题时,方便问题的分析定位。
[0054]S3、将测试通过的应用程序进行发布更新。
[0055]具体的,参见图6,上述步骤对每一个应用程序的测试是否通过做出了判断,本步骤将测试通过的应用程序进行发布。在发布之前,为了确保发布的应用程序的可靠性,对运维平台判断测试通过的应用程序再进行一个审核,审核该准备发布的应用程序确实为测试通过。为经过再次审核,确定为测试通过的应用程序生成授权码,只有拥有授权码的应用程序才能予以发布。在对测试通过的应用程序进行发布的过程中,将每一个应用程序对应的测试主机地址修改为生产主机地址。
[0056]参见图7,对测试通过的应用程序发布后,为了确保应用程序的使用安全性,对已经发布的应用程序配置其上
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1