使用具有较小更改的相同Java项目管理许多客户端

时间:2014-07-16 14:29:40

标签: java svn jenkins project-management

我有几个java项目,每个客户端之间的差异很小,这些差异是:

  • jrxml报告中的差异
  • 属性文件的差异
  • 静态类的变化

Projects Differences

当我去更新客户端时,我致力于SVN并使用Jenkins为每个项目生成WAR(大约90mb),上传到FTP并在每台服务器上安装它。

我遇到的问题是我这样做的时间,每周6个项目需要3到4个小时。

  1. 所有客户都可能由一个项目(单一WAR)处理,并将战争之外的差异分开?
  2. 最好的方法是什么?
  3. 建议这样做,还是有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:0)

  

所有客户都可能由一个项目(单一WAR)处理,并将战争之外的差异分开?

当然可是......忍受我一秒钟。

有4个小时的构建/部署时间,我说jenkins服务器和生产服务器之间的带宽可能是个问题。如果升级不可行,则需要优化项目设置。

通常,war文件大小的90%由应用程序依赖的库集合组成(spring,hibernate,struts等等)。 假设您当前将它们存储在WEB-INF / lib文件夹中,您可以考虑提取它们并将它们安装在应用程序服务器共享类路径中,从战争中删除它们。

如果在此操作之后您不需要进一步优化,那将不会让我感到震惊......

答案 1 :(得分:0)

我发现当我需要节省时间时,这个命令每次都会救我:

rsync -razpv --delete /folder/name server_name:/folder/name

您还可以添加:

--exclude 'file/inside/folder'

干净利落,明智地使用它,但是为我的一些构建复制文件的过程总是花费20分钟,现在在没有变化时需要10秒,而在有变化时不到1分钟。

另外 - 您是否考虑过管理工具(木偶/厨师/ ansible)来完成某些工作?