2016-06-27 110 views
-1

我的Gradle構建生成如下的工件:從戰爭中刪除版本以部署到Tomcat?

MyAppService-1.2.038.war。我不想訪問localhost:8080/MyAppSservice-1.2.038,而是localhost:8080/MyAppService

有幾種方法可以做到這一點。一個是重命名戰爭或重命名爆炸戰爭。我想知道這裏的最佳做法。詹金斯將從Nexus中提取工件並推送到運行Tomcat的不同環境。

在推送之前,我可以配置Jenkins重命名戰爭嗎?

感謝

回答

0

使用shell腳本只是構建後部署到環境之前,我們的解決方案是重命名WAR神器(我們使用TeamCity的,但這樣的選擇適合詹金斯爲好)。

我對gradle沒有把握,但我知道maven有一個<finalName>屬性,它允許您明確提供WAR神器的最終名稱。我敢肯定有gradle這個它..

(更新:在的build.gradle您可以設置存檔名稱:

war.archiveName "YOUR_SPECIAL_NAME.war" 

Check gradle reference

+0

我不想在build.gradle中設置,因爲「build.gradle」的發佈插件應該將archive-{version} .war發佈爲'artifactory'。 –

+0

所以我想最好的做法是使用shell腳本在發佈後手動重命名它。 –

0

Apache Tomcat 7, The Context Container, Naming

如果要使用與基本文件名無關的上下文路徑部署WAR文件或目錄,則必須使用以下選項之一來防止雙重部署:

  • 禁用自動部署和deployOnStartup和定義所有上下文在server.xml中
  • 找到WAR和/或目錄主機的的appBase之外,並使用一個context.xml文件與文檔庫屬性來定義它。