{转}maven+continuum安装与配置
?
一、下载
1.??maven:
项目管理工具,可以进行项目的编译、测试、布置、发布等
下载路径:http://apache.etoak.com/maven/binaries/apache-maven-2.2.1-bin.zip
2.??continuum:
基本实现的功能:
定时(也可能手动)从SVN中下载项目进行编译,并生成编译后的报告给指定人员,生成的报告内容有:
1.???????commit人、commit时间
2.???????编译环境
3.???????maven运行后的结果:包括编译、运行testcase、打包、布置等等的信息(可自定义配置)
4.???????运行是否成功
5.???????有online report
下载路径:http://apache.etoak.com/continuum/binaries/apache-continuum-1.2.3-bin.zip
?
二、安装maven
1.??解压apache-maven-2.2.1-bin.zip至其一目录,如:D:\Developer\maven,目录结构如下:
?
2.??设置环境变量:
M2_HOME= D:\Developer\maven
PATH=% M2_HOME%\bin;%path%
3.??测试是否安装成功:mvn –v
?
三、安装continuum
1.??解压apache-continuum-1.2.3-bin.zip至其一目录,如:D:\Developer\continuum,目录结构如下:
?
2.??安装SVN客户端(CollabNetSubversion-client-1.6.9-1.win32.exe)
略
3.??修改配置文件:
a)?????????修改D:\Developer\continuum\conf\jetty.xml,将validation_mail部分修改为:
?? ? ??
<New id="validation_mail" name="code"><Arg>mail/Session</Arg> <Arg> <New name="code"><from-mailbox>zhaoxy1@china-channel.com</from-mailbox><from-name>zhaoxy1</from-name>?
4.??运行continuum:
D:\Developer\continuum\bin\continuum.bat console
也可以将其安装至windows服务中,在开机时自动启动:D:\Developer\continuum\bin\continuum.bat install
D:\Developer\continuum\bin\continuum.bat start
5.??进入continuum:
访问网站:http://localhost:8080/continuum/
log详见: D:\Developer\continuum\logs\continuum.log
第一次使用需设置管理员帐号与密码
四、配置SVN commit后自动发邮件:
新增脚本:post-commit.bat,写入发邮件的代码,可参考以下:
http://hi.baidu.com/anydb/blog/item/4112d01aac5db4be4aedbc24.html
五、测试
1.??编写maven测试项目:
cd workspace
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app
2.??修改pom.xml文件,红色部分为continuum的配置:
<projectxmlns="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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>my-app</name> <url>http://maven.apache.org</url> <developers> <developer> <id>zhaoxunyong</id> <name>zhaoxunyong</name> <email>zhaoxunyong@139.com</email> <url>http://mail.139.com</url> <organization>Sonatype</organization> <organizationUrl>http://www.35.cn</organizationUrl> <roles> <role>developer</role> </roles> <timezone>-6</timezone> </developer> </developers> <ciManagement> <system>continuum</system> <url>http://192.168.0.10:8080/continuum</url> <notifiers> <notifier> <type>mail</type> <sendOnError>true</sendOnError> <sendOnFailure>true</sendOnFailure> <sendOnSuccess>true</sendOnSuccess> <sendOnWarning>true</sendOnWarning> <address>zhaoxy1@china-channel.com</address> </notifier> </notifiers> </ciManagement> <scm> <connection>scm:svn:http://192.168.0.10:81/svn/my-app</connection> </scm> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <filters> <filter>src/main/filters/filter.properties</filter> </filters> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> <properties> <my.filter.key>key!</my.filter.key> </properties></project>?
3.??上传maven项目:
?
4.??配置发邮件部分
?
?
5.??配置schedules,具体设置如linux下的cron
6.??Build:系统会将build结果以mail方式通知对应的人员
?
具体内容如下:
Online report :?http://localhost:8080/continuum/buildResult.action?buildId=69&projectId=36
?
Build statistics:
??State: Ok
??Previous State: Ok
??Started at:?星期一?1?三月?2010 15:56:01 +0800
??Finished at:?星期一?1?三月?2010 15:56:10 +0800
??Total time: 9s
??Build Trigger: Schedule
??Build Number: 13
??Exit code: 0
??Building machine hostname: myserver
??Operating system : Windows 2003(Service Pack 2)
??Java Home version :
??????????java version "1.6.0_14"
??????????Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
??????????Java HotSpot(TM) Client VM (build 14.0-b16, mixed mode, sharing)
???????
??Builder version :
??????????Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
??????????Java version: 1.6.0_14
??????????Java home: D:\Java\jdk1.6\jre
??????????Default locale: zh_CN, platform encoding: GBK
??????????OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
???
****************************************************************************
SCM Changes:
****************************************************************************
Changed: zhaoxy1 @?星期一?1?三月?2010 15:54:08 +0800
Comment:
Files changed:
??/src/main/java/com/mycompany/app/App.java ( 24 )
?
****************************************************************************
Dependencies Changes:
****************************************************************************
No dependencies changed
?
?
****************************************************************************
Build Definition:
****************************************************************************
POM filename: pom.xml
Goals: clean install??
Arguments: --batch-mode --non-recursive
Build Fresh: false
Always Build: false
Default Build Definition: true
Schedule: DEFAULT_SCHEDULE
Profile Name: maven
Description: Default Maven 2 Build Definition
?
****************************************************************************
Test Summary:
****************************************************************************
Tests: 1
Failures: 0
Errors: 0
Success Rate: 100
Total time: 0.047 s.
?
?
****************************************************************************
Output:
****************************************************************************
[INFO] Scanning for projects...
[INFO] ------------------------------------
[INFO] Building my-app
[INFO]????task-segment: [clean, install]
[INFO] ------------------------------------
[INFO] [clean:clean {execution: default-clean}] [INFO] Deleting directory D:\continuum\data\working-directory\36\target
[INFO] [resources:resources {execution: default-resources}] [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent!
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 1 source file to D:\continuum\data\working-directory\36\target\classes
[INFO] [resources:testResources {execution: default-testResources}] [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\continuum\data\working-directory\36\src\test\resources
[INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] Compiling 1 source file to D:\continuum\data\working-directory\36\target\test-classes
[INFO] [surefire:test {execution: default-test}] [INFO] Surefire report directory: D:\continuum\data\working-directory\36\target\surefire-reports
?
-------------------------------------------------------
?T E S T S
-------------------------------------------------------
Running com.mycompany.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec
?
Results :
?
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
?
[INFO] [jar:jar {execution: default-jar}] [INFO] Building jar: D:\continuum\data\working-directory\36\target\my-app-1.0-SNAPSHOT.jar
[INFO] [install:install {execution: default-install}] [INFO] Installing D:\continuum\data\working-directory\36\target\my-app-1.0-SNAPSHOT.jar to C:\Documents and Settings\Administrator\.m2\repository\com\mycompany\app\my-app\1.0-SNAPSHOT\my-app-1.0-SNAPSHOT.jar
[INFO] ------------------------------------
[INFO]?BUILD SUCCESSFUL
[INFO] ------------------------------------
[INFO] Total time: 7 seconds
[INFO] Finished at: Mon Mar 01 15:56:10 CST 2010 [INFO] Final Memory: 12M/26M [INFO] ------------------------------------
?
****************************************************************************
?