在cruisecontrol标签之后, project标签之前, 添加plugin, 方便多个project共享htmlemail的通用设置, 例:
<plugin name="htmlemail"
mailhost="mail.mailserver.com"
username="notification@mailserver.com"
password="password"
reportsuccess="always"
returnaddress="notification@mailserver.com"
skipusers="false"
subjectprefix="CI"
defaultsuffix=""
buildresultsurl="http://serveraddress:7777/buildresults/${project.name}"
/>
在project的publishers节点下, 添加htmlemail通知任务:
<onfailure>
<htmlemail>
//只要构建失败, 就发邮件给emp1
<always address="emp1@mailserver.com"/>
// emp2, emp3可以映射到emp2@mailserver.com, emp3@mailserver.com
//此处设置的意思是, 如果本次构建失败了, 则通知提交代码的人 ,
提交代码的人的SCM帐户名称从recently modifications中可以拿到,
然后map就是完成从SCM帐户到email帐户的映射, alias ='emp2'中的emp2就表示SCM的帐户名称.
<map alias="emp2" address="emp2@mailserver.com"/>
<map alias="emp3" address="emp3@mailserver.com"/>
</htmlemail>
</onfailure>
Showing posts with label continuous integration. Show all posts
Showing posts with label continuous integration. Show all posts
Friday, November 07, 2008
Friday, August 08, 2008
基于svn的cruise control config file
<?xml version="1.0" encoding="UTF-8"?>
<cruisecontrol>
<project name="test">
<bootstrappers>
<!-- 根据本地svn目录check -->
<svnbootstrapper localWorkingCopy="projects/${project.name}" username='yourname' password='yourpassword'/>
</bootstrappers>
<modificationset quietperiod="30">
<!-- 根据本地svn目录查找修改的代码文件 -->
<svn localWorkingCopy="projects/${project.name}" username='yourname' password='yourpassword'/>
</modificationset>
<schedule interval="300">
<!-- 定时构建, 标准ant -->
<ant buildFile="projects/${project.name}/build.xml" antHome="apache-ant-1.7.0" target='all'/>
</schedule>
<log>
<!-- 指定ant build log结果存放目录 -->
<merge dir="projects/${project.name}/target/test-results" />
</log>
<publishers>
<onsuccess>
<!-- 构建成功之后, 将bin移动到指定目录 -->
<artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar" />
</onsuccess>
<!-- htmlemail -->
<!-- email -->
</publishers>
<listeners />
</project>
</cruisecontrol>
<cruisecontrol>
<project name="test">
<bootstrappers>
<!-- 根据本地svn目录check -->
<svnbootstrapper localWorkingCopy="projects/${project.name}" username='yourname' password='yourpassword'/>
</bootstrappers>
<modificationset quietperiod="30">
<!-- 根据本地svn目录查找修改的代码文件 -->
<svn localWorkingCopy="projects/${project.name}" username='yourname' password='yourpassword'/>
</modificationset>
<schedule interval="300">
<!-- 定时构建, 标准ant -->
<ant buildFile="projects/${project.name}/build.xml" antHome="apache-ant-1.7.0" target='all'/>
</schedule>
<log>
<!-- 指定ant build log结果存放目录 -->
<merge dir="projects/${project.name}/target/test-results" />
</log>
<publishers>
<onsuccess>
<!-- 构建成功之后, 将bin移动到指定目录 -->
<artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/target/${project.name}.jar" />
</onsuccess>
<!-- htmlemail -->
<!-- email -->
</publishers>
<listeners />
</project>
</cruisecontrol>
Subscribe to:
Posts (Atom)