如何自动将 war 文件上传到 jboss 并重新启动它

How can I automatically upload war file to jboss and restart it

我们有一个 Java 网络应用程序(启用了 Maven),为我们所有的客户安装在他们的服务器上。

当我的一位团队成员在项目内部更改某些内容时,我们必须使用 SSH 将新版本手动上传到所有服务器,然后重新启动 JBoss (4.0.4 GA) 以进行更改生效。

这非常危险,因为任何人为错误都可能发生在客户服务器上,这不是我们想要的。

有没有什么工具可以帮我自动完成以下步骤:

  1. 使用 SSH
  2. 从特定路径将分解的 war 文件(或任何其他文件或目录)一个一个地上传到服务器
  3. 重新启动服务器 JBoss 或 运行 对它们执行一些命令

更新

我们可以使用 bash 脚本来自动执行此过程。另一个解决方案是 Jenkins.

如果您可以通过 CLI 访问 JBoss 实例,那么您可能可以使用 CLI 脚本。该脚本将包含部署新文件然后重新启动服务器的命令。然后启动 CLI 并将脚本作为参数传递以调用它。我目前没有可用的实例来测试它,但也许是这样的:

d:\deploy_script.cli

deploy d:\deployments\new_app.war
:reload

启动 CLI 并调用脚本如下所示:

jboss-cli.bat --connect --file=d:\deploy_script.cli