maven工程在tomcat服务器上的自动化部署(cargo版)

跟maven的tomcat插件相比,cargo插件更专业也更灵活,缺点是配置稍显麻烦。

1. 首先你的 web 工程必须是一个 maven 工程。

2.修改 tomcat tomcat-users.xml 文件,目录为 conf\tomcat-users.xml ,加入以下内容:

1.<role rolename="manager"/>  
2.<user username="tomcat" password="123456" roles="manager"/> 

3. maven 工程的 pom 文件中加入 tomcat-maven-plugin 插件,以下为 pom 代码示例:

    此示例代码为existing方式的本地部署,其它部署方式及远程部署,请参见附件文档。

<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>com.malangmedia</groupId>
  <artifactId>malangmedia.cargoDeployToLocalTomcat</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>cargoDeployToLocalTomcat</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <finalName>autoCargo</finalName>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  
  <build>
	<!-- 设置war包名称 -->  
	<finalName>${finalName}</finalName>

	<plugins>
	
		<!-- cargo自动部署插件 -->
		<plugin>
  			<groupId>org.codehaus.cargo</groupId>
  			<artifactId>cargo-maven2-plugin</artifactId>
  			<version>1.0</version>
  			<configuration>
  				<!-- 要部署的容器类型、版本及地址 -->
  				<container>
  					<containerId>tomcat6x</containerId>
  					<home>E:\apache-tomcat-6.0.30</home>
  				</container>
  				<!-- 本地部署的模式及新服务器地址和端口号 -->
  				<configuration>
  					<!--<type>standalone</type>
  					<home>F:\apache-tomcat-6.0.30</home>
  					<properties>
  						<cargo.servlet.port>8085</cargo.servlet.port>
  					</properties>-->
  					<type>existing</type>
  					<home>E:\apache-tomcat-6.0.30</home>
  				</configuration>
  			</configuration>
		</plugin>

	</plugins>
  </build>
</project> 

4.将该工程导入 SVN

5. hudson 中为该 SVN 地址新建一个工程,在配置 maven 运行命令时,在 install 命令后,加入一个 tomcat 部署

的命令。

Install 在前,cargo :start 在后,顺序不能错,这样才能保证 install 成功后再部署。

6. 如此,每当 SVN 版本更新后, hudson 就会自动编译该工程,编译成功后,再通过 tomcat-maven-plugin 插件自动部署至指定 tomcat 服务器,且该部署为热部署,服务器不需要重启,并支持远程部署。

猜你喜欢

转载自doujiang327.iteye.com/blog/1463726