我正在寻找可以管理多个相互依赖的Java Web应用程序部署的解决方案,最好是开源.
该解决方案需要能够创建和存储包含多个项目的发布规范,以用于每个应用程序的发布特定版本以及相关的其他工件(数据库配置,apache配置等).
然后需要解析规范,然后需要在目标环境中部署/执行每个项目.目标环境是基于linux的.Web应用程序是在j2ee标准应用程序服务器上运行的香草战争.
有很多问题要问?
目前,我认为所有的位都很到位-二进制文物与发布的Maven插件发布,因此可从我们的Maven回购进行部署,该数据库的版本与dbdeploy和Apache的配置在版本SVN.但是我不知道任何可以将所有这些步骤放在多个应用程序上的工具.
我目前首选的方法是使用hudson的参数化构建形式来创建规范.然后是第二个参数化构建,以选择预先创建的规范并在选定的环境中部署/执行它.
然而,这似乎是很多工作和不太理想的自定义解决方案.
任何人都知道任何预建的更好的想法吗?或建议如何处理这个 - 也许工作流引擎会比哈德森更好?也许是自定义网络应用程序
笔记:
目标环境预先构建了所有需求 - 例如安装了Java和app服务器,运行数据库等.这不是环境配置问题,而是更多的部署问题.
自动部署单个应用程序是许多解决方案的问题,例如货物,蚂蚁部署脚本等.但是我需要能够包装多个部署的东西.例如,在多个应用程序的特定版本及其要求下启动货物.