V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
nekolr
V2EX  ›  Java

如何将 svn 更新的部分代码筛选出来打包更新服务器

  •  1
     
  •   nekolr · Mar 14, 2018 · 3937 views
    This topic created in 2966 days ago, the information mentioned may be changed or developed.

    RT

    比如 A 更新了部分代码(有 java 代码,有 html 代码,有 jsp 代码,有样式代码),如何将 A 更新的这些代码(需要编译的编译)打包成增量更新包,直接上传到服务器 web 容器(如 tomcat )进行更新?

    我当前的做法是一个个筛选更新的文件:如果是 java 源代码文件,就使用 IDE 编译后,然后到 out 的目录挨个找到,最终将本次提交的所有代码合起来打一个包,比如叫 ROOT 的包,上传至服务器 tomcat 部署。

    这种方式费时费力,有时候还容易出错,目前的思路是准备写一个工具来完成这个过程,但是不太清楚目前是否有成熟的处理方式?

    11 replies    2018-03-15 10:33:57 +08:00
    whypool
        1
    whypool  
       Mar 14, 2018
    增量?还有这种部署方式?
    简单点就是 svn 打分支打 tag,自动构建可以选 jekens
    nekolr
        2
    nekolr  
    OP
       Mar 14, 2018
    @whypool 谢谢,其实就是更新部分文件
    li1215101
        3
    li1215101  
       Mar 14, 2018
    bsdiff lastTarget.war newTarget.war project.patch
    nekolr
        4
    nekolr  
    OP
       Mar 14, 2018
    @li1215101 谢谢!!去看看
    xiangyuecn
        5
    xiangyuecn  
       Mar 14, 2018
    可以试试把 out 目录内关键的生成文件也加入版本库,目测相同的 java 文件任何时候编译成的 class 文件是相同的,这样子就只会有改动源代码的 class 文件会产生提交记录,然后比较一下版本差异,把差异文件导出来就是更新部分了。编不下去了,纯属目测
    shalk
        6
    shalk  
       Mar 14, 2018 via iPhone
    为什么不替换 war 包 简单直接
    nekolr
        7
    nekolr  
    OP
       Mar 14, 2018
    @shalk 有时候 war 包几百兆,有时候只更新了部分不需要编译的文件(容器不必重启),有这种需求要做补丁式的更新
    nekolr
        8
    nekolr  
    OP
       Mar 14, 2018
    @xiangyuecn 哈哈,没事,谢谢!
    fkmc
        9
    fkmc  
       Mar 15, 2018
    几百兆 ..
    可以考虑把静态资源移出去了
    pmispig
        10
    pmispig  
       Mar 15, 2018
    增量打包更新是个愚蠢的方案,用 svn/git 之类的 tag 很方便。一个 tag 就是一个版本快照。
    nekolr
        11
    nekolr  
    OP
       Mar 15, 2018
    @pmispig 谢谢!我去了解一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5379 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 572ms · UTC 09:37 · PVG 17:37 · LAX 02:37 · JFK 05:37
    ♥ Do have faith in what you're doing.