最近准备搭建一个技续构建环境,在网上一查有很多可选项.基本上都在用 CruiseControl 现在最新版是2.7.1,另外还有一个就是 continuum 最新版本是1.1,而且现在是maven2的一个子项目,所以与maven2集成那肯定是没有问题的.最后决定先试试continuum.
下载解压后执行bin\windows-x86-32\run.bat (根据你的操作系统),第一次运行有错误.在网上一查是因为第一次运行要创建数据库,再次运行就没有问题了.
访问http://localhost:8080/continuum/ 然后填写admin帐户的信息.填写完登录后会要求填写基本配置信息.
working-directory: C:\continuum\work
build output directory : C:\continuum\work\build
base url :http://localhost:8080/continuum
以上各项需根据自己的实际情况填入合适的值.
1、加入一个maven2工程:
add project --> maven 2.0.x project
在这里可以指定一个pom.xml文件的地址,也可以上传一个已存在的pom.xml,我选择一上传一个已存在的pom.xml。 Build Definition Template 选择maven2 template 这样在工程列表中就可以看到这个工程了。
下面是pom.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>ContinuumMaven2</groupId>
<artifactId>ContinuumMaven2</artifactId>
<version>0.0.1</version>
<name>ContinuumMave2</name>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0</version>
<configuration>
<goals>install</goals>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<ciManagement>
<system>Continuum</system>
<url>http://localhost:8080/continuum</url>
<notifiers>
<notifier>
<type>mail</type>
<address>[email protected]</address>
</notifier>
</notifiers>
</ciManagement>
<scm>
<connection>
scm:svn:http://192.168.1.10:8088/svn/ContinuumMaven2
</connection>
<developerConnection>
scm:svn:http://192.168.1.10:8088/svn/ContinuumMaven2
</developerConnection>
<url>
scm:svn:http://192.168.1.10:8088/svn/ContinuumMaven2
</url>
</scm>
</project>
在Project Information 中设置svn的帐号和密码.
最后还需要设置一些环境变量:
MAVEN_HOME
SVN_HOME
并指定path ,我为了这个问题耽误了好长时间。
2、设置SCM的用户名和密码
在工程导入后,在Project Information 中选择edit ,在SCM Username和SCM Password中填入访问svn 的用户名和密码.
然后build now 就可以看到build 的状态了(要手动刷新).
3、设置Eamil Notifiers
打开contionuum\conf\plexus.xml文件(这个和1.0.3版好象有很大的不同)
将resource下的mail session 下面的注释去掉,修改成自己的email 的相应信息就可以了。
<resource>
<name>mail/Session</name>
<type>javax.mail.Session</type>
<properties>
<property>
<name>mail.smtp.host</name>
<value>smtp.163.com</value>
</property>
<property>
<name>mail.smtp.port</name>
<value>25</value>
</property>
<property>
<name>mail.smtp.auth</name>
<value>true</value>
</property>
<property>
<name>mail.smtp.user</name>
<value>[email protected]</value>
</property>
<property>
<name>password</name>
<value>your_password</value>
</property>
<property>
<name>mail.smtp.debug</name>
<value>true</value>
</property>
<!--
<property>
<name>mail.smtp.starttls.enable</name>
<value>true</value>
</property>
<property>
<name>mail.smtp.socketFactory.class</name>
<value>javax.net.ssl.SSLSocketFactory</value>
</property>
-->
</properties>
</resource>
我用的是163.com的信箱,后面注释的内容不能使用,否则不能发email.
重启服务器后,build 一下。就可以收到email了。