使用Jenkins Deploy插件部署到Tomcat而不删除上下文xml文件

时间:2018-06-19 15:25:07

标签: java tomcat jenkins deployment

我正在使用Jenkins Deploy to container插件将项目部署到本地tomcat。根据Jenkins控制台的输出,该插件重新部署,取消部署,然后作为其过程的一部分进行部署。在取消部署期间,tomcat由于{{3}中所述的原因,删除了$ CATALINA_BASE / conf / [引擎名称] / [主机名] / [myprojectname] .xml上下文文件(aka $ CATALINA_BASE / conf / Catalina / localhost / [myprojectname] .xml)。 }。

据我所知,在使用deploy插件时,该问题的答案不适用。

我正在使用此文件配置资源并将其放入/META-INF/context.xml中是不可行的,因为我需要能够部署到不同的上下文中。

我尝试将文件设置为只读,这导致Jenkins进程失败,因为它无法删除文件。在server.xml中将autoDeployment设置为false也无济于事。

这个问题与here不同,在他的情况下,文件被重命名而我的文件被删除了。

如何阻止插件删除上下文文件?如果不能,可以使用什么替代方法?

1 个答案:

答案 0 :(得分:2)

我一直在我的jenkins管道作业中使用curl语句退出一段时间,因为我们在生产环境中使用了负载均衡器,因此我们需要多次启动停止,而Deploy插件不支持。因此,我们改为使用curl语句进行tomcat部署。您可以尝试一下:

curl --upload-file <file_path> -u <username>:<password>  "http://<URL>:<port>/manager/text/deploy?path=/<context>&update=true"

此处的用户名和密码是tomcat脚本管理器的凭据。 update = true负责重新部署。我不认为它会删除context.xml

相关问题