curl – 通过HTTP API替换wildfly上的部署

curl – 通过HTTP API替换wildfly上的部署,第1张

概述我们想用curl替换app.war的现有部署.下面的帖子提供了部署war文件的好方法.只要没有使用相同名称部署的war文件,这种方法就可以正常工作.但是,如果已经存在部署,则失败.有什么办法可以通过curl替换现有的部署吗? http://blog.arungupta.me/2014/01/deploy-to-wildfly-using-curl-tech-tip-10/ 有没有办法获得wildf 我们想用curl替换app.war的现有部署.下面的帖子提供了部署war文件的好方法.只要没有使用相同名称部署的war文件,这种方法就可以正常工作.但是,如果已经存在部署,则失败.有什么办法可以通过curl替换现有的部署吗?

http://blog.arungupta.me/2014/01/deploy-to-wildfly-using-curl-tech-tip-10/

有没有办法获得wildfly的http API的完整界面文档

解决方法 我们写了一个小的Shell脚本来实现这个目的:

@H_502_19@#!/bin/bashecho "Undeploy old war"curl -S -H "content-Type: application/Json" -d '{"operation":"undeploy","address":[{"deployment":"old.war"}]}' --digest http://user:password@hostname:9990/managementecho ""echo "Remove old war"curl -S -H "content-Type: application/Json" -d '{"operation":"remove","address":[{"deployment":"old.war"}]}' --digest http://user:password@hostname:9990/managementecho ""echo "Upload new war"bytes_value=`curl -F "file=@/path/to/new.war" --digest http://user:password@$hostname:9990/management/add-content | perl -pe 's/^.*"BYTES_VALUE"\s*:\s*"(.*)".*$/$1/'`echo $bytes_valueJson_string_start='{"content":[{"hash": {"BYTES_VALUE" : "'Json_string_end='"}}],"address": [{"deployment":"new.war"}],"operation":"add","enabled":"true"}'Json_string="$Json_string_start$bytes_value$Json_string_end"echo "Deploy new war"result=`curl -S -H "Content-Type: application/Json" -d "$Json_string" --digest http://user:password@hostname:9990/management | perl -pe 's/^.*"outcome"\s*:\s*"(.*)".*$/$1/'`echo $resultif [ "$result" != "success" ]; then exit -1fi

首先,旧的WAR-file将被删除.之后,新的存档被上传和部署.
对我们来说,即使尚未部署任何内容,这仍然有效.在这种情况下,前两个调用将失败,但无论如何都将部署新内容.

通过从Wildfly Maven-Plugin切换到此脚本,我们能够将部署时间从大约20分钟缩短到4分钟!

希望有所帮助.干杯

总结

以上是内存溢出为你收集整理的curl – 通过HTTP API替换wildfly上的部署全部内容,希望文章能够帮你解决curl – 通过HTTP API替换wildfly上的部署所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1030259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存