一种WebApp开发部署方法及系统的制作方法

文档序号:9727121阅读:9248来源:国知局
一种WebApp开发部署方法及系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别涉及一种WebApp开发部署方法及系统。
【背景技术】
[0002]随着互联网技术的发展,WebApp得到了越来越重要的应用。WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。webApp框架是一种简单的与WSGI兼容的网络应用程序框架,可以与App Engine配合使用。不必为了使用App Engine而使用webApp网络服务器支持任何使用CGI的Python应用程序。webApp提供一种简单的方式来开始为App Engine开发应用程序。
[0003]WebApp说白了就是一个针对Iphone、Android优化后的web站点,它使用的技术无非就是HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。需要注意的是webApp开发还是比较有限的。因为WebApp开发不能整合设备的核心功能,比如发文本信息,也不能充分使用APP Store进行销售和更新。但是WebApp开发也有其优势所在。首先它解决了 iphone APP的可扩展性问题,因为它是可以跨平台使用的。比如你开发了一款WebApp,那么它既可以在手机iphone上使用,也可以再平板ipad上使用,而不像iphone APP那样只针对某个平台。其次WebAPP也绕开了 APP store严格的提交和更新审查规则。众所周知,随着APP store中的APP逐渐增多,APP store也推出了一系列的提交和审查规则,可谓相当之严格。而WebApp则绕开了这些提交和更新审查规则,从而使得WebApp的升级和维护变得更容易。因为它是一个独立的站点,而不是依附于app store上的,不管是升级还是维护在客户端进行即可,无需提交审核。最后则是开发语言了。相比较Objective-C而言,HTML、CSS以及JavaScript学起来要容易多了。且对于传统开发者来说,HTML、CSS以及JavaScript基本都是可以直接上手的,省去了前期的培训工作。
[0004]对于WebApp来说,现有的开发部署都是基于本地开发,通过FTP或SFTP部署。开发调试及部署分离,开发效率较低,缺少流程化,自动化部署人工出错较大。亟需要一种开发调试部署一体化的整体解决方案,以提高整体WebApp的开发效率。

【发明内容】

[0005]本发明提供一种WebApp开发部署方法及系统,用以解决现有技术中WebApp开发调试及部署分离,开发效率较低,缺少流程化的问题。
[0006]本发明提供一种WebApp开发部署方法,包括:
[0007]监听fileSystem pro ject工程列表文件目录,当所述工程列表文件目录中文件发生改变时,上传所述文件到服务器;
[0008]服务器启动监控Demon,刷新Live服务,同时监听部署目录;当所述部署目录发生改变时,所述监控Demon杀掉进程,重启主程序;
[0009]前端WebApp映入Live刷新服务,重新加载刷新。
[0010]所述fileSystem pro ject工程列表文件目录通过递归方式监听。
[0011]所述fileSystem project工程列表文件目录中记录工程列表文件信息,当所述工程列表文件信息发生改变时,同步更新所述工程列表文件目录。
[0012]所述部署目录根据工程列表文件的部署情况进行改变。
[0013]所述方法还包括:
[0014]所述主程序重启时,通知所述前端WebApp映入Live刷新服务。
[0015]所述WebApp为本地开发。
[0016]一种WebApp开发部署系统,包括:
[0017]开发装置,用于监听fileSystem pro ject工程列表文件目录,当所述工程列表文件目录中文件发生改变时,上传所述文件到服务器;
[0018]服务器,用于启动监控Demon,刷新Live服务,同时监听部署目录;当所述部署目录发生改变时,所述监控Demon杀掉进程,重启主程序;
[0019]前端WebApp,用于映入Live刷新服务,重新加载刷新。
[0020]所述开发装置还用于本地开发所述WebApp。
[0021]所述服务器在重启主程序后,通知所述前端WebApp映入Live刷新服务。
[0022]所述服务器还用于维护所述部署目录,所述部署目录根据工程列表文件的部署情况进行改变。
[0023]本发明实施例中,通过监听fileSystem pro ject工程列表文件目录,当工程列表文件目录中文件发生改变时,上传文件到服务器;服务器启动监控Demon,刷新Live服务,同时监听部署目录;当部署目录发生改变时,监控Demon杀掉进程,重启主程序;前端WebApp映入Live刷新服务,重新加载刷新。本发明实施例能够使WebApp达到本地开发,自动上传,服务自动部署启动,通知前端refrsh,前端自动重载,全部自动化。减少人工干预,提高整体开发及部署能力流程化。
[0024]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0025]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0026]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0027]图1为本发明实施例1提供的一种WebApp开发部署方法原理流程图;
[0028]图2为本发明实施例2提供的一种WebApp开发部署系统结构示意图。
【具体实施方式】
[0029]以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0030]如图1所示,为本发明实施例1提供的一种WebApp开发部署方法原理流程图,其中,
[0031]步骤11,监听fileSystem project工程列表文件目录,当工程列表文件目录中文件发生改变时,上传文件到服务器。
[0032]一般来说,WebApp需要本地开发。本地开发的WebApp程序文件需要通过开发调试及部署分离,其中需要大量的人工操作。这个过程中,有许多个环节可能出现错误。一旦出现错误,就会影响整理软件开发部署进程,从而影响最终的用户体验。
[0033]本实施例中,通过监听fileSystem pro ject工程列表文件目录D (递归)来监控开发工程列表文件的改变。通常的,工程列表文件目录D中维护着工程列表文件,其中,所有开发部署的工程文件都在此保存具体的文件信息。这些文件信息实时的保存,并在文件改变后及时进行目录D中文件信息的变更。因而,工程列表文件目录D中,实际上保存这所有需要部署的文件信息,因而,通过监控该目录D,可以及时发现所有工程列表文件的变化,并及时作出调整。
[0034]一般来说,工程列表文件目录D (递归)中通过递归方式监听。
[0035]本实施例中,通过watchfile来监控工程列表文件目录D, —旦发现文件发生改变modified,立即将该文件以及文件信息上传S服务器。本步骤的目的在于将监控到发生改变的工程列表文件及时上传到S服务器,由S服务器继续后续的操作。
[0036]步骤12,服务器启动监控Demon,刷新Live服务,同时监听部署目录;当所部署目录发生改变时,监控Demon杀掉进程,重启主程序。
[0037]通常的S服务器中维护着所有在线进程的Live服务。在收到上传的工程文件后,S服务器需要启动监控程序Demon。这个Demon监控程序首先刷新相应的Live服务,监控相应的改变,并监听部署目录。这里的部署目录中维护着需要部署的文件列表。当有文件需要部署时,更新该部署目录。从而,通过监控部署目录就可以获知需要部署的文件列表,从而进行相应的部署。
[0038]当部署目录发生改变的时候,也就是有文件需要部署。此时,监控程序Demon杀掉与该文件部署相关的进程,并重新启动主程序。
[0039]通常,在linux下,用ps查看进程。-e显不所有进程。-f全格式。-h不显不标题。-1长格式。-w宽输出。_a显示终端上的所有进程,包括其他用户的进程。-r只显示正在运行的进程。-X显示没有控制终端的进程。一般用ps auxlgr印进程名搜索某个进程。杀死进程一般用kill进程号。比如,ps出来的某个进程如下所示:
[0040]4948 ? Ss 0: OOxinetd-stayalive-pidfile/var/run/xinetd.pid
[0041]杀死该进程命令为ki 114948。
[0042]如果要杀死一组进程用killall进程组名。
[0043]而在Windows环境下杀死进程的过程则分为以下几种方式:
[0044]普通杀死:
[0045]Tasklist:列出所有的计算机正在运行的进程cmd-)) tasklist ;
[0046]Tskill:杀死进程tskill+进程名;
[0047]强杀:
[0048]用Windows自带的工具就能杀大部分进程:
[0049]c:>ntsd_c q-p PID
[0050]只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,运行ntsd本身需要它。
[0051]ntsd命令是从2000开始的系统自带的调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。
[0052]使用ntsd自动就获得了 debug权限,从而能杀掉大部分的进程。用法:开个cmd.exe窗口,输入:
[0053]ntsd-c q-p PID
[0054]把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器一〉进程选项卡一〉查看一〉选择列一〉勾上〃PI
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1