2010-07-06 67 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

相关问题