1. 前言
-
自动化部署需要注意Tomcat 服务器下的webapps目录中的 docs、examples、host-manager、manager、ROOT不要删除否则不能自动部署,自动化部署要先将Tomcat服务启动。
-
需要配置用户信息tomcat/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<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),不同项目就可以配置不同服务器。
<!-- 使用命令:(1)clean (2)package (3)cargo:run-->
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.6.4</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<home>D:\laher\data\apache\tomcat\apache-tomcat-8080</home>
</container>
<configuration>
<type>standalone</type>
<home>${project.build.directory}/tomcat</home>
<properties>
<cargo.servlet.port>8090</cargo.servlet.port>
</properties>
</configuration>
</configuration>
</plugin>
访问路径:http://localhost:8090/demo/hello.jsp
2.2 existing模式
* 信息同上,不配置container会下载网上的tomcat
* home 配置部署的服务器,cargo.servlet.port 端口
* existing优点:可以将多个项目放入一个tomcat。
<!-- 使用命令:(1)clean (2)package (3)cargo:run -->
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.6.4</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<home>D:\laher\data\apache\tomcat\apache-tomcat-8080</home>
</container>
<configuration>
<type>existing</type>
<home>D:\laher\data\apache\tomcat\apache-tomcat-8080</home>
<properties>
<cargo.servlet.port>8090</cargo.servlet.port>
</properties>
</configuration>
</configuration>
</plugin>
2.3 命令
Maven build:只一个命令则直接执行,存在多个则选择框
Maven build…:创建命令
Maven clean:清理target目录
Maven install:安装到本地仓库
Maven test:执行test目录测试
Name:自定义名称
Goals:输入命令
3. 使用cargo实现远程自动化部署
远程部署在本地虚拟机192.168.128.130
<!-- 远程部署 -->
<!-- 使用命令:(1)clean (2)package (3)cargo:redeploy -->
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.6.4</version>
<configuration>
<container>
<containerId>tomcat7x</containerId><!--Tomcat版本 7x 8x-->
<type>remote</type><!--远程部署-->
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.hostname>192.168.128.130</cargo.hostname><!--ip-->
<cargo.servlet.port>8080</cargo.servlet.port><!--端口-->
<cargo.protocol>http</cargo.protocol><!--协议-->
<cargo.rmi.port>1099</cargo.rmi.port><!--布吉岛啥-->
<cargo.remote.username>admin</cargo.remote.username><!--账号密码-->
<cargo.remote.password>password</cargo.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
QQ 群:1039376081