1

现状

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

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

目标

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

主要问题

棘手的部分是我们的客户使用相同的 Tomcat Web 应用程序(Axis2 用于“服务器端”和 Web Start 应用程序)将他们自己开发的模块包含到应用程序中。因此,我们不能使用显而易见的解决方案,而只是交付一个简单地部署到服务器中的全新 Web 应用程序 (WAR)。这就是为什么我们目前正在交付“手动”放置到正确位置的单个 JAR 文件。

您通常使用哪些策略将产品交付给客户?有人有过类似情况的经历吗(例如,第三方和自行开发的应用程序的共享运行时环境)?

4

1 回答 1

0

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

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

您通常使用哪些策略将产品交付给客户?有人有过类似情况的经历吗(例如,第三方和自行开发的应用程序的共享运行时环境)?

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

相关问题

于 2010-09-27T17:46:20.483 回答