cruisecontrol與SVN集成_config.xml build.xml_http://meetrice.javaeye.com/blog/73636

config.xml

Java代碼 複製代碼
  1. <cruisecontrol>   
  2.     <project name="demo">   
  3.         <!--據說是老版才需要   
  4.         <plugin name="svn" classname="net.sourceforge.cruisecontrol.sourcecontrols.SVN"/>   
  5.         <plugin name="svnbootstrapper" classname="net.sourceforge.cruisecontrol.bootstrappers.SVNBootstrapper"/>   
  6.         -->   
  7.         <listeners>   
  8.             <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>   
  9.         </listeners>   
  10.   
  11.         <!--bootstrappers>   
  12.             <cvsbootstrapper localWorkingCopy="projects/${project.name}" />   
  13.         </bootstrappers-->   
  14.            
  15.         <bootstrappers>     
  16.             <svnbootstrapper localWorkingCopy="projects/${project.name}" />     
  17.         </bootstrappers>     
  18.         <!--quietperiod會使用svn log命令檢查,出錯,未解決,暫時註釋-->   
  19.         <!--modificationset quietperiod="30">   
  20.             <svn LocalWorkingCopy="projects/${project.name}"/-->   
  21.             <!--cvs localWorkingCopy="projects/${project.name}"/-->   
  22.             <!--filesystem folder="projects/${project.name}"/-->   
  23.         <!--/modificationset-->   
  24.            
  25.         <schedule interval="600">   
  26.             <ant anthome="apache-ant-1.6.5" buildfile="build.xml" target="pull"/>   
  27.         </schedule>   
  28.            
  29.         <log>   
  30.             <merge dir="projects/${project.name}/build/test/data"/>   
  31.         </log>   
  32.            
  33.         <publishers>   
  34.             <onsuccess>   
  35.                 <artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/dist/webapps/${project.name}.war"/>   
  36.             </onsuccess>   
  37.                   
  38.             <htmlemail mailhost="localhost"    
  39.                 returnaddress="[email protected]"    
  40.                 buildresultsurl="http://home.raibledesigns.com:8888/buildresults/${project.name}"    
  41.                 css="webapps/cruisecontrol/css/cruisecontrol.css"  
  42.                 xsldir="webapps/cruisecontrol/xsl"  
  43.                 logdir="logs/${project.name}"    
  44.                 subjectprefix="[CruiseControl] ">   
  45.                    
  46.                 <map alias="mraible" address="[email protected]"/>   
  47.                 <failure address="mraible" reportWhenFixed="true"/>   
  48.             </htmlemail>   
  49.         </publishers>   
  50.     </project>   
  51. </cruisecontrol>  
<cruisecontrol>
    <project name="demo">
		<!--據說是老版才需要
		<plugin name="svn" classname="net.sourceforge.cruisecontrol.sourcecontrols.SVN"/>
		<plugin name="svnbootstrapper" classname="net.sourceforge.cruisecontrol.bootstrappers.SVNBootstrapper"/>
		-->
        <listeners>
            <currentbuildstatuslistener file="logs/${project.name}/status.txt"/>
        </listeners>

        <!--bootstrappers>
            <cvsbootstrapper localWorkingCopy="projects/${project.name}" />
        </bootstrappers-->
        
        <bootstrappers>  
            <svnbootstrapper localWorkingCopy="projects/${project.name}" />  
        </bootstrappers>  
        <!--quietperiod會使用svn log命令檢查,出錯,未解決,暫時註釋-->
        <!--modificationset quietperiod="30">
            <svn LocalWorkingCopy="projects/${project.name}"/-->
            <!--cvs localWorkingCopy="projects/${project.name}"/-->
            <!--filesystem folder="projects/${project.name}"/-->
        <!--/modificationset-->
        
        <schedule interval="600">
            <ant anthome="apache-ant-1.6.5" buildfile="build.xml" target="pull"/>
        </schedule>
        
        <log>
            <merge dir="projects/${project.name}/build/test/data"/>
        </log>
        
        <publishers>
            <onsuccess>
                <artifactspublisher dest="artifacts/${project.name}" file="projects/${project.name}/dist/webapps/${project.name}.war"/>
            </onsuccess>
               
            <htmlemail mailhost="localhost" 
                returnaddress="[email protected]" 
                buildresultsurl="http://home.raibledesigns.com:8888/buildresults/${project.name}" 
                css="webapps/cruisecontrol/css/cruisecontrol.css"
                xsldir="webapps/cruisecontrol/xsl"
                logdir="logs/${project.name}" 
                subjectprefix="[CruiseControl] ">
                
                <map alias="mraible" address="[email protected]"/>
                <failure address="mraible" reportWhenFixed="true"/>
            </htmlemail>
        </publishers>
    </project>
</cruisecontrol>



config.xml

Java代碼 複製代碼
  1. <project name="demo" default="pull" basedir=".">   
  2.   
  3.     <!-- Uncomment if you're using Subversion - you'll need to download svnant into the same directory -->   
  4.     <path id= "svnant.classpath" >   
  5.      <fileset dir= "D:/cruisecontrol-bin-2.6.1/svnant-1.1.0-RC2/lib" >   
  6.          <include name= "*.jar" />   
  7.      </fileset>   
  8.     </path>   
  9.        
  10.     <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="svnant.classpath" />    
  11.   
  12.     <target name="svn">   
  13.         <delete dir="projects/${ant.project.name}"/>   
  14.         <svn>   
  15.             <checkout url="http://daiah:[email protected]/project/omm/trunk/src/demo"    
  16.                   revision="HEAD" destPath="projects/${ant.project.name}" />   
  17.         </svn>   
  18.     </target>   
  19.        
  20.     <target name="pull">   
  21.         <delete dir="projects/${ant.project.name}"/>   
  22.         <svn username="xx" password="xx">   
  23.             <checkout url="http://192.168.100.1/project/test/trunk" revision="HEAD" destPath="projects/demo" />   
  24.         </svn>   
  25.     </target>   
  26.   
  27.     <!--target name="cvs">   
  28.         <delete dir="projects/${ant.project.name}"/>   
  29.         <cvs command="co ${ant.project.name}" dest="projects"  
  30.             cvsRoot=":pserver:[email protected]:/cvs"/>    
  31.     </target-->   
  32.        
  33.     <target name="test" depends="svn">   
  34.         <!-- Test on a port that's not being used -->    
  35.         <property name="http.port" value="8180"/>   
  36.         <ant dir="projects/${ant.project.name}" target="setup"/>   
  37.         <ant dir="projects/${ant.project.name}" target="test-all"/>   
  38.     </target>   
  39.   
  40.     <!--target name="clean">   
  41.         <delete dir="projects/${ant.project.name}"/>   
  42.     </target-->   
  43. </project>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章