2010-07-06 90 views
2

我剛開始使用Apache Maven。現在我想讓Maven能夠通過點擊來部署生產和開發環境。我正在使用Eclipse(Springsource版本),並且安裝了Maven插件。我的服務器有tomcat,只有部署需要的東西是覆蓋舊的戰爭與新的和服務器有SSH訪問。如何使用Apache Maven將構建部署到服務器?

回答

2

Tomcat Maven PluginMaven2 Cargo Plugin都支持遠程Tomcat部署(假設管理器應用程序可用)。

對於Tomcat Maven插件,請參閱Usage頁面,配置非常簡單。

對於Maven2的貨物插件,這裏是一個示例配置(用於遠程容器):

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.codehaus.cargo</groupId> 
     <artifactId>cargo-maven2-plugin</artifactId> 
     <version>1.0.1-sr-1</version> 
     <configuration> 
     <wait>true</wait> 
     <container> 
      <containerId>tomcat6x</containerId> 
      <type>remote</type> 
     </container> 
     <configuration> 
      <type>runtime</type> 
      <properties> 
      <cargo.tomcat.manager.url>[https://yourhost/manager]</cargo.tomcat.manager.url> 
      <cargo.remote.username>[username]</cargo.remote.username> 
      <cargo.remote.password>[password]</cargo.remote.password> 
      </properties> 
     </configuration> 
     <deployer> 
      <type>remote</type> 
      <deployables> 
      <deployable> 
       <groupId>[war group id]</groupId> 
       <artifactId>[war artifact id]</artifactId> 
       <type>war</type> 
       <properties> 
       <context>[optional root context]</context> 
       </properties> 
       <pingURL>[optional url to ping to know if deployable is done or not]</pingURL> 
       <pingTimeout>[optional timeout to ping (default 20000 milliseconds)]</pingTimeout> 
      </deployable> 
      </deployables> 
     </deployer> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 

和類型mvn cargo:deploy

貨物更強大(因爲貨櫃不可知),但也更復雜。爲了簡單的需要,我發現Maven Tomcat Plugin是簡單的。

+0

有趣。對於Tomcat Maven插件,我無法找到配置SSH用戶名/密碼/ RSA認證數據的位置,真的支持SSH部署嗎? – userBigNum 2012-06-11 11:22:24

+0

這是通過HTTP(Tomcat管理器) – MariuszS 2013-11-25 11:27:41

1

嘗試Maven Cargo Plugin。這可以處理各種版本的Tomcat,以及其他應用服務器。它可以在部署之前/之後啓動和停止服務器。它也應該能夠遠程部署,儘管我無法用Tomcat作證。

0

如果您需要的是通過SSH進行文件替換,我會爲該任務推薦antrun插件。

對於其他部署,請看cargo plugin

相關問題