• WEB实现在线版本升级工具的一些想法[WEB OTA]


    由于tomcat环境支持的的web端需要远程部署,每次维护和升级都要一对一操作,效率低下,耗费人力成本,且容易造成版本混乱,增加维护难度。
    为了解决上述问题,实现WEB的OTA方案,拟设计一个“web在线升级工具”:

    1、工具涉及停止和启用windows的tomcat6服务,windows覆盖文件操作,拟使用delphi语言实现;
    2、项目目录中增加version.inf版本文件,存放当前web项目的版本信息,如例:
    [webapp]
    VersionId=417
    comment={
    版本号:2014.04.17.1
    1、优化线程

    }

    rarUrl=http://upgrader.***.com/WEBAPP/安装包.rar
    bosUrl=http://upgrader.***.com/WEBAPP/数据库更新文件.bos
    fileUrl1=
    fileUrl2=
    fileUrl3=

    3、在公司的合法URL存放升级包和当前的项目版本号;如在ftp://upgrader.***.com下放version.inf和安装包.rar,开发人员只需要维护好这里的发布版本即可;
    4、通过md5对下载包文件签名,保证每个文件的完整性和升级的有效性;
    5、跨版本问题:web项目文件每次完整覆盖,不存在跨版本问题;但是要保证每个版本和数据库的一致性,涉及到打包的数据库操作如存储过程,这是难点!

    6、步骤
     1)工具通过比对当前项目和远程的配置文件的版本信息,确定是否需要升级;
     2)如果需要,停止windows的tomcat6服务;并下载"rarUrl":"http://upgrader.***.com/WEBAPP/安装包.rar"文件;
     3)删除D:\tomcat6\webapps目录下的安装包,解压下载的安装包至D:\tomcat6\webapps目录下的目录(或者直接覆盖)
     4)启动tomcat服务,可通过命令net start Tomcat6(或者执行tomcat_start.bat)


    7、为提升工具的通用性,可自行定义变量:
     1)tomcat的安装目录;例:D:\tomcat6
     2)web项目名;
     3)tomcat的服务名称;例:Tomcat6
     4)升级服务器地址、升级文件;例:http://upgrader.***.com/WEBAPP/安装包.rar、version.inf

  • 相关阅读:
    ArrayList 和 Vector 的区别是什么?
    事务
    多态的特点?有什么优点?
    子父类出现后,类中的成员都有了哪些特点:
    线程与进程的区别
    1.Go语言-变量,常量
    scikit-learn TF-IDF
    Django + Channels + Celery 实时更新日志
    pipenv包管理工具使用
    pycharm实现本地与远程服务器django项目代码同步
  • 原文地址:https://www.cnblogs.com/qsl568/p/3032010.html
Copyright © 2020-2023  润新知