什么是共享运行时环境的良好部署和发布策略?

时间:2010-09-27 08:00:39

标签: deployment maven-2 release-management automated-deploy

现状

对于我们的客户,我们正在开发一些库和应用程序,这些库和应用程序在作为内部Java Web Start应用程序提供的较大应用程序中作为“模块”运行。客户维护运行此应用程序的基础结构。 “服务器端”由一些基于Axis2的Web服务组成。这两个部分都作为两个单独的Web应用程序部署到单个Tomcat实例。

当我们发布工件的新版本时,我们只生成必要的JAR文件(例如ourapp-client.jar和ourapp-server.jar)并将它们发送给我们的客户,而客户又将它们放入适当的位置并且 - 如果需要 - 重新启动Tomcat服务器。

目标

我们目前正在对所有项目进行Maven-izing,并且将来我们也希望以“Maven方式”进行发布。主要目标是自动化我们的发布和部署过程,使其在客户端更容易出错,更可靠,更舒适。

主要问题

棘手的部分是我们的客户使用相同的Tomcat Web应用程序(Axis2用于“服务器端”和Web Start应用程序)将其自行开发的模块包含到应用程序中。所以我们不能使用明显的解决方案,只需提供一个简单的部署到服务器的新的Web应用程序(WAR)。这就是为什么我们目前正在提供“手动”放入正确位置的单个JAR文件。

您通常使用哪些策略向客户交付产品?是否有人遇到类似情况的经验(即第三方和自行开发应用程序的共享运行时环境)?

1 个答案:

答案 0 :(得分:0)

  

主要目标是自动化我们的发布和部署过程,使其在客户端更容易出错,更可靠,更舒适。

通过“发布和部署过程”不确定您的意思完全(在maven语言中,这是关于SCM任务自动化以及将工件部署到远程存储库)。 如果这是关于部署到生产机器,我个人认为这不是Maven的工作(我们不使用Maven)。也许看看ControlTierSmartFrogPuppetChef等专用解决方案。

  

您通常使用哪些策略向客户交付产品?是否有人遇到类似情况的经验(即第三方和自行开发应用程序的共享运行时环境)?

我们提供可以控制的东西。如果客户想要在给定的应用程序中包含他自己的位,我们将提供所需的子部件,但包装可能是他的责任。

相关问题

相关问题