3

我在 Linux 中运行 weblogic 12.4.2,我的开发环境在 Windows 中。目前,如果我想重新部署应用程序,我会执行 maven clean install 并使用 ssh 客户端登录 Linux,杀死 weblogic 的进程,将我的 jar 文件复制到域的目录中,然后再次运行 weblogic。我想要一个工具,将 jar 文件复制到服务器中的适当位置并重新部署应用程序而无需重新启动 weblogic,并且最好不依赖于 IDE。

我发现weblogic hot deploy快速交换以在 weblogic 上重新部署应用程序而无需重新启动。以及weblogic.Deployer、管理控制台、wldeploy Ant TaskWebLogic 脚本工具weblogic maven 插件,用于在 weblogic 上远程部署应用程序。我搜索了他们,但我不确定他们中的哪些人可以一起做所有这些事情,他们的优点和缺点是什么。

如果可能,请提供现有工具的比较。我看到了类似的问题,但他们只专注于重新部署而不重新启动或远程部署,我想要两者。

4

1 回答 1

2

是的,您可以使用管理 REST API

在这里,您可以查看有关如何部署/重新部署应用程序的具体示例。

此 REST API 为您提供了部署应用程序(EAR 和 WAR 文件)并仅使用curl工具启动/停止它们的工具。检查一些例子:

# Stops a deployed application
curl -v --user ${USER}:${PASS} \
 -H X-Requested-By:MyClient \
 -H Accept:application/json \
 -H Content-Type:application/json \
 -X POST http://localhost:7001/management/weblogic/latest/domainRuntime/deploymentManager/appDeploymentRuntimes/${APP_NAME}/stop

# Deploy an application from a file
curl -v --user ${USER}:${PASS} \
 -H X-Requested-By:MyClient \
 -H Accept:application/json \
 -H Content-Type:multipart/form-data \
 -F "model={
   name:    'basicapp',
   targets: [ { identity: [ 'clusters' , 'Cluster1' ] } ]
 }" \
 -F "sourcePath=@/deployments/BasicApp/app/BasicApp.ear" \
 -F "planPath=@/deployments/BasicApp/plan/Plan.xml" \
 -H "Prefer:respond-async" \
 -X POST http://localhost:7001/management/weblogic/latest/edit/appDeployments

您可以使用 shell 别名和 shell 脚本来自动执行某些操作。

于 2021-04-19T18:31:29.660 回答