`
friendsys
  • 浏览: 347879 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

使用maven+cargo远程发布应用

阅读更多
  感觉它还是依赖tomcat本身提供的web服务进行发布,所以需要依赖tomcat服务开启,并且保留了原有的root,manager目录进行管理,同时需要设置对应的帐号权限。做了简单的热部署测试,速度还是不错的,只是maven还不够熟练,不知如何和ant一样建立生命周期的depend,每次去点击鼠标的速度实在不舒服,不过暂时还是先放下,下去就要把项目迁移到maven下,争取多动手实践。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>Simple_mvn_web_demo</groupId>
    <artifactId>simplemvn</artifactId>
    <name>simple</name>
    <version>1.0</version>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>servlet-api</artifactId>
            <version>6.0.29</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <!--可选-->
<!--                <executions>
                    <execution>
                        <id>verify-deploy</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>deployer-redeploy</goal>
                        </goals>
                    </execution>
                </executions>-->
                <configuration>
                    <container>
                        <containerId>tomcat6x</containerId>
                        <type>remote</type>
                    </container>
                    <configuration>
                        <type>runtime</type>
                        <properties>
                            <cargo.tomcat.manager.url>${tomcat.manager}</cargo.tomcat.manager.url>
                            <cargo.remote.username>${tomcat.manager.username}</cargo.remote.username>
                            <cargo.remote.password>${tomcat.manager.password}</cargo.remote.password>
                        </properties>
                    </configuration>
                    <deployer>
                        <type>remote</type>
                        <deployables>
                            <deployable>
                                <groupId>Simple_mvn_web_demo</groupId>
                                <artifactId>simplemvn</artifactId>
                                <type>war</type>
                                <pingURL>http://${tomcat.host}:${tomcat.port}/cargo/welcome.do</pingURL>
                            </deployable>
                        </deployables>
                    </deployer>
                </configuration>
            </plugin>
        </plugins>
    </build>


    <profiles>
        <profile>
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <tomcat.host>192.168.3.133</tomcat.host>
                <tomcat.port>8080</tomcat.port>
                <tomcat.server>development</tomcat.server>
                <tomcat.manager.username>admin</tomcat.manager.username>
                <tomcat.manager.password>secret</tomcat.manager.password>
            </properties>
        </profile>
    </profiles>

    <properties>
        <tomcat.manager>http://${tomcat.host}:${tomcat.port}/manager</tomcat.manager>
    </properties>


</project>


补充部分,用于设置在maven生命周期的package时,自动远程发布项目,当然也可以在shell里面同时调用两个生命周期,这样就不用点击两次,当时如果依赖war,那么发布的速度是否足够快呢
<executions>
      <execution>
           <phase>package</phase>
                 <goals>
                         <goal>deployer-redeploy</goal>
                  </goals>
      </execution>
</executions>
分享到:
评论

相关推荐

    maven cargo自动化部署tomcat7.pdf

    当我们谈论在Maven下使用Cargo实现自动化部署到Tomcat7服务器时,我们主要涉及以下几个知识点: 1. Maven的配置和使用: Maven是一个项目管理工具,主要用于Java项目。它使用了一种名为POM(Project Object Model...

    Jenkins+Maven+svn+Tomcat入门文档

    - **分发构件至远程仓库**:使用`deploy`命令可以将本地项目构件发布到远程仓库。 **Maven的生命周期** Maven支持三种主要的生命周期:Clean、Default和Site。其中最常用的是Default生命周期,包括多个阶段,如`...

    cargo远程部署web项目资料

    在这个"cargo远程部署web项目资料"中,我们将会探讨如何利用Cargo和Maven来实现远程Web项目的自动化部署。 1. **Cargo简介** Cargo是由Codehaus组织开发的工具,它提供了一种统一的方式来管理Java应用服务器,支持...

    tomcat7,8,maven

    - **maven-tomcat-plugin**:使用Maven的Tomcat插件可以直接在开发环境中部署应用到本地Tomcat服务器,简化部署流程。 - **Cargo插件**:Cargo提供更灵活的容器管理,包括远程部署到生产环境的Tomcat服务器。 5. ...

    MavenSampler:您不了解的5件事... Apache Maven插件掌握现代Maven插件的五个技巧

    Cargo Maven2 Plugin 是一个用于部署和管理应用服务器的插件。它能自动启动、停止、部署和undeploy应用程序到本地或远程的应用服务器。这极大地简化了集成测试和持续集成流程,因为你可以自动化地控制服务器环境。 ...

    gradle-cargo-plugin:Gradle插件,可通过Cargo为本地和远程容器提供部署功能

    Gradle Cargo Plugin是一款强大的构建工具Gradle的插件,它集成了Cargo库,使得开发者能够方便地对Web应用程序进行本地和远程的部署操作。Cargo是一款非常实用的Java应用部署工具,支持多种应用服务器,如Tomcat、...

    Java Power Tools

    **2.15 使用Cargo部署应用** Cargo是Maven的一个插件,用于简化应用在容器中的部署过程。通过Cargo,开发者可以轻松地将应用部署到Tomcat、Jetty等主流应用服务器上。 **2.16/17 在Eclipse/NetBeans中使用Maven** ...

    deploy.rar

    "deploy.rar"这个压缩包提供的插件正是为了满足这一需求,它能够帮助开发者将编译成功的War或Jar包一键部署到远程应用服务器上,极大地简化了部署流程。该插件的核心技术是Cargo,一个强大的应用容器管理和部署工具...

    codehaus-cargo.github.io:Codehaus Cargo网站

    Maven2 / Maven3插件包装了Java API,用于将应用程序配置,启动,停止和部署到所有受支持的容器,以及解析,创建和合并J2EE / Java EE模块。 这些工具和API可以独立使用,也可以通过各种IDE使

    bartontools:bartontools.dpb.carnegiescience.edu JavaTomcat Web应用程序

    通过Cargo,开发者可以在本地或远程的Tomcat实例上轻松地启动、停止、部署和卸载Web应用程序。 在压缩包文件"bartontools-master"中,我们可以预期找到"巴顿工具"的源代码、配置文件、资源文件和其他相关项目组件。...

Global site tag (gtag.js) - Google Analytics