【问题标题】:How to test JBoss deployment automatically?如何自动测试 JBoss 部署?
【发布时间】:2009-10-30 14:00:04
【问题描述】:
我有 jboss 应用程序。并想自动测试部署。并想将此任务作为项目添加到Hudson
我的愿景基于以下几个阶段:
- 将我的应用程序放到 JBoss(复制耳朵、配置、库等)
-
运行 JBoss
我有一台 Linux 机器,现在我们的项目需要 JBoss 4.3.2。
如何运行 JBoss 并分析结果。我的应用程序是否已完全成功部署?
运行一些独立测试
- 停止 JBoss
【问题讨论】:
标签:
jboss
automated-tests
automated-deploy
【解决方案1】:
使用 Cargo 进行自动“(下载服务器)、启动服务器、部署应用程序、运行测试、取消部署、停止服务器”循环。 Maven Cargo 插件在使用 Surefire 执行集成测试方面做得很好。支持大多数应用服务器,包括 JBoss 4。
Cargo 提供以下工具和 API:
- 一个用于启动/停止/配置 Java 容器并将模块部署到其中的 Java API。
- 用于解析/创建/合并 Java EE 模块的 Java API
- Ant 任务、Maven 1、Maven 2 插件。
【解决方案2】:
取决于“自动测试部署”是什么意思。
如果只需要测试部署是否成功,
- 可以查询JMX,
- 或使用 JBoss Fresh(现在是 Alpha 版)。
如果你想做一些 CI 测试,
- 那么 Cargo 是一个很好的工具,可以与最新的 JBoss AS 和 EAP 一起使用。
- 如果您使用 JSF,另请参阅 JSFUnit。
要将它们粘合在一起,请使用 Maven(我的选择)、Ant 或 Groovy。
【解决方案3】:
除了编写脚本来运行各个步骤之外,我还没有找到使用 JBoss 4.x 执行此操作的好方法。启动服务器后,等待足够长的时间让 JBoss 服务启动并部署应用程序,然后测试应用程序的基本组件是否已在 JNDI 中注册。
我发现了一些可能有助于使用 JBoss 5 执行此操作的链接:
我本来建议您可以将脚本编写为 Hudson 插件,但也许您可以改用它:JBoss JPBM Plugin for Hudson