gpt4 book ai didi

Tomcat管理器远程部署脚本

转载 作者:行者123 更新时间:2023-11-28 21:43:49 33 4
gpt4 key购买 nike

我正在编写一个 shell 脚本以使用 tomcat 管理器自动部署/取消部署。

按照 http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html#Deploy_A_New_Application_Remotely 上的说明进行操作,我使用 curl 进行部署

curl --anyauth -u username:pwd -d path=/something -d war=file:target/someWar.war https://someurl.com/manager/deploy

我收到回复说此 URL 不支持 HTTP 方法 POST。

所以我将我的 curl 更改为使用 -G

curl --anyauth -u username:pwd -G -d path=/something -d war=file:target/someWar.war https://someurl.com/manager/deploy

我收到 FAIL 响应 - 无法在上下文路径/something 上部署应用程序,它似乎在本地服务器而不是我的机器上查找文件。有些插件无需对文件进行 scp 即可进行远程部署,所以我想知道我遗漏了什么。

我目前没有想法(我在 tomcat 管理器配置页面上没有看到任何其他选项)。

最佳答案

提供对此问题的更新。

Tomcat 7 已更改其管理器 API。

请引用: Manager commands

遵循新的 URL 模式:

http://{host}:{port}/manager/text/{command}?{parameters}

示例

curl -T "myapp.war" "http://manager:manager@localhost:8080/manager/text/deploy?path=/myapp&update=true"

安全

请记住,服务器必须能够接受您的远程 IP。这是一个示例配置:

<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1" />
</Context>

这是一个可选设置,不是必需的,但必须具有跨域角色和适当的管理员凭据。

Tomcat 8 - 适用与 Tomcat 7 相同的规则。相同的命令。

这里是一个完整的文档:

http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html

关于Tomcat管理器远程部署脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432684/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com