如何自动将 war 文件上传到 jboss 并重新启动它
How can I automatically upload war file to jboss and restart it
我们有一个 Java 网络应用程序(启用了 Maven),为我们所有的客户安装在他们的服务器上。
当我的一位团队成员在项目内部更改某些内容时,我们必须使用 SSH 将新版本手动上传到所有服务器,然后重新启动 JBoss (4.0.4 GA) 以进行更改生效。
这非常危险,因为任何人为错误都可能发生在客户服务器上,这不是我们想要的。
有没有什么工具可以帮我自动完成以下步骤:
- 使用 SSH
从特定路径将分解的 war 文件(或任何其他文件或目录)一个一个地上传到服务器
- 重新启动服务器 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
我们有一个 Java 网络应用程序(启用了 Maven),为我们所有的客户安装在他们的服务器上。
当我的一位团队成员在项目内部更改某些内容时,我们必须使用 SSH 将新版本手动上传到所有服务器,然后重新启动 JBoss (4.0.4 GA) 以进行更改生效。
这非常危险,因为任何人为错误都可能发生在客户服务器上,这不是我们想要的。
有没有什么工具可以帮我自动完成以下步骤:
- 使用 SSH 从特定路径将分解的 war 文件(或任何其他文件或目录)一个一个地上传到服务器
- 重新启动服务器 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