Maven远程部署和本地部署

1. 前言

  • 自动化部署需要注意Tomcat 服务器下的webapps目录中的 docs、examples、host-manager、manager、ROOT不要删除否则不能自动部署,自动化部署要先将Tomcat服务启动。

  • 需要配置用户信息tomcat/conf/tomcat-users.xml


<tomcat-users>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>  
    <role rolename="manager-jmx"/>    
    <role rolename="manager-status"/>  
    <role rolename="admin-gui"/>
    <user username="admin" password="password" roles="admin-gui,manager-gui,manager-script,manager-status"/>
tomcat-users>

2. 使用cargo实现本地自动化部署

2.1 standalone模式

* container节点如果不配置本地tomcat,则会到网站中自己下载,加上比较方便

* cargo.servlet.port默认是8080

* standalone模式,将项目在${project.build.directory}/tomcat目录下启动,会将本地tomcat拷贝到目录下

* standalone优点:tomcat可以部署在项目内(复制一份本地的tomcat放入中${project.build.directory}/tomcat),不同项目就可以配置不同服务器。

<plugin>
    <groupId>org.codehaus.cargogroupId>
    <artifactId>cargo-maven2-pluginartifactId>
    <version>1.6.4version>
    <configuration>
        <container>
            <containerId>tomcat7xcontainerId>
            <home>D:\laher\data\apache\tomcat\apache-tomcat-8080home>
        container>
        <configuration>
            <type>standalonetype>
            <home>${project.build.directory}/tomcathome>
            <properties>
                <cargo.servlet.port>8090cargo.servlet.port>
            properties>
        configuration>
    configuration>
plugin>

Maven远程部署和本地部署_第1张图片

访问路径:http://localhost:8090/demo/hello.jsp

2.2 existing模式

* 信息同上,不配置container会下载网上的tomcat

* home 配置部署的服务器,cargo.servlet.port 端口

* existing优点:可以将多个项目放入一个tomcat。

<plugin>
    <groupId>org.codehaus.cargogroupId>
    <artifactId>cargo-maven2-pluginartifactId>
    <version>1.6.4version>
    <configuration>
        <container>
            <containerId>tomcat7xcontainerId>
            <home>D:\laher\data\apache\tomcat\apache-tomcat-8080home>
        container>
        <configuration>
            <type>existingtype>
            <home>D:\laher\data\apache\tomcat\apache-tomcat-8080home>
            <properties>
                <cargo.servlet.port>8090cargo.servlet.port>
            properties>
        configuration>
    configuration>
plugin>

2.3 命令

Maven远程部署和本地部署_第2张图片
Maven build:只一个命令则直接执行,存在多个则选择框
Maven build…:创建命令
Maven clean:清理target目录
Maven install:安装到本地仓库
Maven test:执行test目录测试

Maven远程部署和本地部署_第3张图片

Name:自定义名称
Goals:输入命令

3. 使用cargo实现远程自动化部署

远程部署在本地虚拟机192.168.128.130


<plugin>
    <groupId>org.codehaus.cargogroupId>
    <artifactId>cargo-maven2-pluginartifactId>
    <version>1.6.4version>
    <configuration>
        <container>
            <containerId>tomcat7xcontainerId>
            <type>remotetype>
        container>
        <configuration>
            <type>runtimetype>
            <properties>
                <cargo.hostname>192.168.128.130cargo.hostname>
                <cargo.servlet.port>8080cargo.servlet.port>
                <cargo.protocol>httpcargo.protocol>
                <cargo.rmi.port>1099cargo.rmi.port>
                <cargo.remote.username>admincargo.remote.username>
                <cargo.remote.password>passwordcargo.remote.password>
                
                <cargo.tomcat.manager.url>http://192.168.128.130:8080/cargo.tomcat.manager.url>
            properties>
        configuration>
    configuration>
plugin>

访问路径:http://192.168.128.130:8080/demo/hello.jsp

你可能感兴趣的:(Java,linux,maven,企业级服务架构)