从war中删除版本以部署到Tomcat?

时间:2016-06-27 20:44:45

标签: tomcat jenkins gradle war

My Gradle构建生成如下工件:

MyAppService-1.2.038.war

我不想访问localhost:8080/MyAppSservice-1.2.038,而是localhost:8080/MyAppService

我有几种方法可以做到。一种是重命名战争或重命名爆炸的战争。我想知道这里的最佳做法。 Jenkins将从Nexus中提取文件并推送到运行Tomcat的不同环境。

我可以配置Jenkins在推送之前重命名战争吗?

由于

2 个答案:

答案 0 :(得分:0)

我们的解决方案是在构建之后和部署到环境之前使用shell脚本重命名WAR工件(我们使用的是Teamcity,但这样的选项也适合Jenkins)。

我不确定gradle,但我知道maven肯定有<finalName>属性,允许您显式提供WAR工件的最终名称。我非常确定gradle有它......

(更新:在build.gradle中,您可以设置存档名称:

war.archiveName "YOUR_SPECIAL_NAME.war"

Check gradle reference

答案 1 :(得分:0)

请参阅Apache Tomcat 7, The Context Container, Naming

  

如果要使用与基本文件名无关的上下文路径部署WAR文件或目录,则必须使用以下选项之一来防止双重部署:

     
      
  • 禁用autoDeploy和deployOnStartup并在server.xml中定义所有上下文
  •   
  • 在Host的appBase之外找到WAR和/或目录,并使用带有docBase属性的context.xml文件来定义它。
  •