gpt4 book ai didi

java - 如何在不使用插件的情况下从 Jenkins 将 war 文件部署到 Tomcat

转载 作者:行者123 更新时间:2023-12-04 14:49:36 25 4
gpt4 key购买 nike

我想在不使用“部署到容器”插件的情况下从我的 Jenkins 部署到 Tomcat。

所以我在考虑一个 Tomcat REST API 来部署一个 war 文件。 Tomcat 和 Jenkins 在不同的服务器上。

也许只将文件复制到 webapps 文件夹就足够了?但后来我仍然必须部署它意味着启动它。对吧?

老实说,到目前为止,我还没有找到任何可部署到 Tomcat 的 REST API。问题是使 .war 文件可用。

最佳答案

Jenkins,您可以使用 bash 脚本.war 文件传输到您的 Tomcat webapps 目录(如果您使用 pipeline,代码是相同的)。

首先,停止Tomcat

ssh tomcat@tomcat '${TOMCAT_BIN_PATH}shutdown.sh'

然后,将war复制到Tomcatwebapps目录下

scp -r -p jenkins@jenkins:path/to/war/file.war tomcat@tomcat:path/to/webapp/

之后,你必须启动Tomcat.war会自动部署

ssh tomcat@tomcat '${TOMCAT_BIN_PATH}startup.sh'

如果你正在使用Maven,我建议你看看tomcat-maven-plugin,你可以找到它here .您可以使用以下命令部署 war 文件:

mvn -B -P deploy-profile-from-pom-xml tomcat7:deploy-only

可以找到实现示例 here


更新

如果你想让Tomcat延迟webapps目录检查,你可以添加backgroundProcessorDelay到你的server.xml 配置

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true" backgroundProcessorDelay="15">

Tomcat 只会每 15 秒使用此代码检查一次新的 .war

关于java - 如何在不使用插件的情况下从 Jenkins 将 war 文件部署到 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69266340/

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