2011-03-08 308 views
4

在Tomcat中部署备份war文件时是否有内置机制?(Tomcat)部署时备份WAR

例如,我部署了whosit.war。我希望将当前部署的whosit.war备份到whosit-backup.war中。或者,如果每个部署在whosit-deploy-20110317-211037.war上保留一个额外的部署副本。等等等等。

很明显,我可以将它添加到我的部署脚本中,但如果Tomcat执行上述任何操作,它将使我的生活变得如此美好。

+0

备份?难道你不能通过从Subversion或Git检出你的标签分支来创建一个吗?备份副本很好,但版本化的源代码更好。 – duffymo 2011-03-08 02:16:11

+1

我有我的来源HG(在你的svn pssh),所以我都设置在那里。这不是世界的尽头,但我会像0.000001%的时间那样备份副本,因为当某些事情发生严重错误时,它会迅速将战争副本快速移回原位而不是克隆标签,重建和部署。 – 2011-03-08 02:26:25

回答

4

您可以通过指定tag属性tag a deploy when deploying a webapp remotely属性。如果你使用Maven,你可以使用specify the tag with the tomcat-plugin。假设你已经拥有插件设置,你只需要指定属性。例如:

<properties> 
    <maven.tomcat.url>http://example.com:8080/manager</maven.tomcat.url> 
    <tomcat.username>tomcat</tomcat.username> 
    <tomcat.password>tomcat</tomcat.password> 
    <maven.tomcat.tag>mytag</maven.tomcat.tag> 
    <maven.tomcat.path>/myapp</maven.tomcat.path> 
</properties> 

这将在您的标签(例如$CATALINA_HOME/work/Catalina/localhost/manager/mytag)命名的目录中创建的战争中你的经理的工作目录副本。你可以检索并通过指定pathtag重新部署通过经理这场战争:

http://example.com:8080/manager/deploy?path=/myapp&tag=mytag 

注:如果管理者的工作目录曾经被删除那么你的标记展开时将不复存在。

1

我想你必须自己编写脚本。