V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wangxiaoer
V2EX  ›  问与答

JavaEE 项目更新

  •  
  •   wangxiaoer · 2017-06-08 13:19:43 +08:00 · 1296 次点击
    这是一个创建于 2721 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司客户比较多,大部分都采用 spring boot 的方式,一家一个 war 包+一个配置文件就够了,但是更新怎么破?

    目前采用的方式是在每个客户机部署一个自己开发的桌面小应用,配置一下然后定时检测,然后下载、杀进程、重启,机器比较多的话感觉也挺麻烦。

    另外一个想到的办法是在应用里面自己做检测,应用启动后启动过一个 update 的线程,定时检测更新,但是需要“关闭当前应用、重启新的应用”感觉没有思路。

    部署环境都是 windows server。

    大家都是怎么做的?

    7 条回复    2017-06-08 18:19:27 +08:00
    wangxiaoer
        1
    wangxiaoer  
    OP
       2017-06-08 16:45:47 +08:00
    能不能移动到 java 节点下面?关注太少了
    caixiexin
        2
    caixiexin  
       2017-06-08 17:13:30 +08:00 via Android
    客户的机器
    caixiexin
        3
    caixiexin  
       2017-06-08 17:13:49 +08:00 via Android
    客户的机器随便上去部署的吗?
    wangxiaoer
        4
    wangxiaoer  
    OP
       2017-06-08 17:18:30 +08:00 via Android
    @caixiexin 对,都是远程上去搞 感觉很麻烦。
    wwqgtxx
        5
    wwqgtxx  
       2017-06-08 17:29:11 +08:00 via iPhone
    参考 idea 的自动更新,检测有更新的时候先把自己复制一份,然后开一个新进程来打 patch,最后引导新文件,自己自杀
    wangxiaoer
        6
    wangxiaoer  
    OP
       2017-06-08 18:11:45 +08:00 via Android
    开新进程检测,下载都可以,关键是怎么启动新的,关闭老的。因为占用了端口,必须先关闭再重启,但是关闭的话更新的那个线程也被关了啊。
    Sharuru
        7
    Sharuru  
       2017-06-08 18:19:27 +08:00 via Android
    额...你 update 的时候可以再下一个 update.bat...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:30 · PVG 22:30 · LAX 06:30 · JFK 09:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.