jenkins环境配置好了就可以新建项目,下面的配置是新建项目,每隔一分钟检测代码更新,当发现代码更新则自动编译打包。

1、配置pom文件,

下面是一个配置好的pom文件

<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.bjhit.eranges</groupId>
  <artifactId>pom</artifactId>
  <version>0.0.1</version>
  <packaging>pom</packaging>
  
  <modules>  
	<module>nsaddp-common</module>
	<module>nsaddpapi</module>
	<module>nsaddpdb</module>
	<module>nsbasic</module>
	<module>nsaddpprocess</module> 
	<module>nsaddpserver</module> 
  </modules>  
</project> 
上面这个pom文件说明该项目是由多个子项目构成的,最终我们需要的是nsaddpserver这个工程生成的war包,但是nsaddpserver这个工程依赖于它上面的所有项目。另外上

面的模块顺序,也决定了项目的构建顺序和依赖顺序。nsaddpserver的pom文件如下:

<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.bjhit.eranges</groupId>
  <artifactId>nsaddpserver</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>nsaddpserver</name>
  
   <url>http://maven.apache.org</url>

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

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			
			<plugin>  
            	<groupId>org.apache.maven.plugins</groupId>  
            	<artifactId>maven-war-plugin</artifactId>  
            	<version>2.1-alpha-1</version>  
            	<configuration>   
	                <webResources>  
	                    <resource>  
	                        <!-- 元配置文件的目录,相对于pom.xml文件的路径 -->  
	                        <directory>src/main/webapp/WEB-INF</directory>  
	                        <!-- 目标路径 -->  
	                        <targetPath>WEB-INF</targetPath>  
	                    </resource>  
	                </webResources>  
            	</configuration>  
        </plugin>  
        
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.bjhit.eranges</groupId>
			<artifactId>nsaddpapi</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>com.bjhit.eranges</groupId>
			<artifactId>nsaddp-common</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<dependency>
			<groupId>com.bjhit.eranges</groupId>
			<artifactId>nsaddpprocess</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>
	<distributionManagement>
		<!--配置Maven部署至Nexus -->
		<repository>
			<id>nexus-releases</id>
			<name>Nexus Releases Repository</name>
			<url>http://maven.bjhit.com/nexus/content/repositories/releases/</url>
		</repository>
		<snapshotRepository>
			<id>nexus-snapshots</id>
			<name>Nexus Snapshots Repository</name>
			<url>http://maven.bjhit.com/nexus/content/repositories/snapshots/</url>
		</snapshotRepository>
	</distributionManagement>
	
</project>

2、jenkins的项目配置

主要是两个方面,一是源码管理,二是构建触发器,配置信息如下(其中* * * * *,即表示每分钟检测一遍代码,若发现有更新则自动触发构造项目)


至此jenkins新建项目自动检测代码更新后自动构建已经配置成功了,关键是多项目的pom文件配置这个地方是本文的重点,之前我在配置多项目的时候,就碰到过类似的问题,无法把握项目的构建顺序,以及依赖的项目有改变的时候,无法自动构建nsaddpserver工程,但是通过上面的pom文件,可以轻松的解决这两个问题。



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐