适用于多个Java Web应用程序的自动部署解决方案

Pab*_*jim 26 java deployment configuration maven-2 web-applications

我正在寻找可以管理多个相互依赖的Java Web应用程序部署的解决方案,最好是开源.

该解决方案需要能够创建和存储包含多个项目的发布规范,以用于每个应用程序的发布特定版本以及相关的其他工件(数据库配置,apache配置等).

然后需要解析规范,然后需要在目标环境中部署/执行每个项目.目标环境是基于linux的.Web应用程序是在j2ee标准应用程序服务器上运行的香草战争.

有很多问题要问?

目前,我认为所有的位都很到位-二进制文物与发布的Maven插件发布,因此可从我们的Maven回购进行部署,该数据库的版本与dbdeployApache的配置在版本SVN.但是我不知道任何可以将所有这些步骤放在多个应用程序上的工具.

我目前首选的方法是使用hudson的参数化构建形式来创建规范.然后是第二个参数化构建,以选择预先创建的规范并在选定的环境中部署/执行它.

然而,这似乎是很多工作和不太理想的自定义解决方案.

任何人都知道任何预建的更好的想法吗?或建议如何处理这个 - 也许工作流引擎会比哈德森更好?也许是自定义网络应用程序

笔记:

目标环境预先构建了所有需求 - 例如安装了Java和app服务器,运行数据库等.这不是环境配置问题,而是更多的部署问题.

自动部署单个应用程序是许多解决方案的问题,例如货物,蚂蚁部署脚本等.但是我需要能够包装多个部署的东西.例如,在多个应用程序的特定版本及其要求下启动货物.

Jim*_*ows 16

听起来你需要一位厨师来烹饪你的配置:)


sti*_*gkj 9

glu似乎是自动化部署的一个非常好的选择.其网站描述:

什么是glu?

glu是一个免费/开源的部署和监控自动化平台.

glu解决了什么问题?

glu正在解决以下问题:

  • 将应用程序部署(和监视)到任意大型节点集:
    • 有效率的
    • 最少/没有人为干预
    • 安全
    • 以可重复的方式
  • 确保一段时间内的一致性(防止漂移)
  • 出现问题时快速检测并排除故障

它是如何工作的?

谷氨酸需要很声明你想什么办法,在其中描述/模型,和Glu可以:

  • 计算部署/升级应用程序的操作集
  • 确保它随着时间的推移保持一致
  • 在不匹配时检测并提醒您

它由Yan Pujante维护,起源于内部使用它的LinkedIn.


ali*_*sal 7

由于这个旧线程首先在谷歌搜索上出现,我想添加一个新的替代方案:

Ansible通过SSH执行命令,并且很容易设置和使用.只需几个小时即可理解概念并开始编写自己的任务.

网站摘录:

除了不需要任何守护进程或自举,Ansible的Playbook语言是最简单的系统管理语言.它读起来像英语.我们相信您还有其他工作要做,因此我们希望您能够快速完成工作并完成您的工作.


Pas*_*ent 6

查看ControlTier,这是一个基于配置管理数据库(CMDB)存储库的开源部署工具,旨在成为一个完整的企业级系统,用于自动部署和管理多层和分布式应用程序服务.根据其网站:

ControlTier是一个社区驱动的跨平台软件系统,用于协调跨多个节点和应用程序层的应用程序服务管理活动.该项目是完全开源的,许多项目贡献来自DTO Solutions正在进行的大规模电子商务,软件即服务和金融服务运营的咨询工作.转到安装以获取并安装软件.

alt text http://controltier.org/mediawiki/images/d/d2/ControlTier_HighLevel.png

  • 根据该网站:"ControlTier项目是一个休眠项目(最后一个版本是2011年9月至24日)".显然它建议[RunDeck](http://rundeck.org). (2认同)

cet*_*nar 5

Smart Frog也值得一看.