Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Create a Delegating Build Script

...

Configure the Build Loop

  • Create a configuration file called "config.xml" in ~/local/work
  • Code Block
    
    <cruisecontrol>
      <project name="build-sakai_2-3-x" buildafterfailed="true">
        <listeners>
          <currentbuildstatuslistener
     default="build"         basedirfile="checkoutlogs/sakai_2-3-x/status.txt"/>
        <target name="build"></listeners>
    
           <!-- Get Bootstrappers are run every time the latestbuild fromruns,
    Subversion -->       *before* the <exec executable="svn"modification checks -->
        <bootstrappers>
        </bootstrappers>
       <arg line="update"/>
        <!-- Defines where cruise </exec>looks for changes, to decide
        <!-- Call the target that doeswhether everything -->
            <ant antfile="build.xml" target="build-everything"/>
        </target>
    </project>
    

Configure the Build Loop

  • Create a configuration file called "config.xml" in ~/local/work
  • Code Block
    
    <cruisecontrol>to run the build -->
        <modificationset quietperiod="10">
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/site-management/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/login/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/test-harness/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/jobscheduler/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/providers/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/ucd-enterprise-data-service/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/ucd-form-based-distauth/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/melete/branches/melete_2-3"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/sam/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/component/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/portal/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/help/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/site-manage/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/master/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/tool/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/reference/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/authz/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/gradebook/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/util/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/courier/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/event/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/entity/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/velocity/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/user/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/memory/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/db/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/email/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/alias/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/site/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/access/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/content/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/metaobj/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/presence/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/calendar/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/jsf/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/sections/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/course-management/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/archive/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/rwiki/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/search/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/announcement/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/mailarchive/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/chat/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/discussion/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/message/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/web/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/osid/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/webservices/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/assignment/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/profile/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/dav/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/roster/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/syllabus/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/presentation/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/textarea/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/samples/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/msgcntr/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/postem/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/cluster/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/rights/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/blog/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/linktool/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/privacy/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/podcasts/branches/sakai_2-3-x"/>
        </modificationset>
    
        <!-- Configures the actual build loop, how often and which
             build file/target -->
        <schedule interval="600">
         
    	<exec workingdir="checkout/sakai_2-3-x"
    		command="/usr/bin/svn"
    		args="update"/>
    	<maven mavenscript="/usr/local/maven/bin/maven"
            	projectfile="checkout/sakai_2-3-x/project.xml"
            	goal="bld"/>
        </schedule>
    
        <!-- directory to write build logs to -->
        <log logdir="logs/sakai_2-3-x"/>
    
        <!-- Publishers are run *after* a build completes -->
        <publishers>
    	<email mailhost="SMTP_HOST"
            	returnaddress="tpamsler@ucdavis.edu"
            	buildresultsurl="http://euler.ucdavis.edu:8080/cruisecontrol/buildresults/sakai_2-3-x"
            	skipusers="true"
    		spamwhilebroken="true">
        		<always address="tpamsler@ucdavis.edu"/>
        		<failure address="tpamsler@ucdavis.edu"/>
    	</email>
        </publishers>
      </project>
    
      <project name="sakai_mini_2-3-x" buildafterfailed="true">
        <listeners>
          <currentbuildstatuslistener
              file="logs/sakai_mini_2-3-x/status.txt"/>
        </listeners>
    
        <!-- Bootstrappers are run every time the build runs,
            *before* the modification checks -->
        <bootstrappers>
        </bootstrappers>
    
        <!-- Defines where cruise looks for changes, to decide
             whether to run the build -->
        <modificationset quietperiod="10">
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/site-management/trunk/site-management/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/login/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/test-harness/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/jobscheduler/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/providers/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/ucd-enterprise-data-service/trunkbranches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/ucd-form-based-distauth/trunk/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/melete/branches/melete_2-3"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/sam/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/component/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/portal/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/help/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/site-manage/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/master/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/tool/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/reference/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://mware.ucdavis.edu/svn/ucd-sakai/authz/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://sourcemware.sakaiprojectucdavis.orgedu/svn/utilucd-sakai/gradebook/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/courierutil/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/eventcourier/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/entityevent/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/velocityentity/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/uservelocity/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/memoryuser/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/dbmemory/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/emaildb/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/aliasemail/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/sitealias/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/accesssite/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/contentaccess/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/metaobjcontent/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/presencemetaobj/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/calendarpresence/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/jsfcalendar/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/sectionsjsf/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/gradebooksections/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/course-management/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/archive/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/rwiki/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/search/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/announcement/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/mailarchive/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/chat/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/discussion/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/message/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/web/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/osid/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/webservices/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/assignment/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/profile/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/dav/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/roster/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/syllabus/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/presentation/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/textarea/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/samples/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/msgcntr/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/postem/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/cluster/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/rights/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/blog/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/linktool/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/privacy/branches/sakai_2-3-x"/>
            <svn RepositoryLocation="https://source.sakaiproject.org/svn/podcasts/branches/sakai_2-3-x"/>
        </modificationset>
    
        <!-- Configures the actual build loop, how often and which
             build file/target -->
        <schedule interval="600">
            <exec workingdir="checkout/sakai_mini_2-3-x"
                    command="/usr/bin/svn"
            build file/target -->     <schedule intervalargs="300update"/>
          	<maven mavenscript="/usr/local/maven/bin/maven"
            	projectfile="checkout/sakai_mini_2-3-x/project.xml"
            	goal="sakaibld"/>
        </schedule>
    
        <!-- directory to write build logs to -->
        <log logdir="logs/sakai_mini_2-3-x"/>
    
        <!-- Publishers are run *after* a build completes -->
        <publishers>
            	<email mailhost="SMTP_HOST"
                    	returnaddress="tpamsler_AT_ucdavistpamsler@ucdavis.edu"
                    	buildresultsurl="http://euler.ucdavis.edu:8080/cruisecontrol/buildresults/sakai_mini_2-3-x"
         "
              	skipusers="true"
                    		spamwhilebroken="true">
                    		<always address="tpamsler_AT_ucdavistpamsler@ucdavis.edu"/>
                    		<failure address="tpamsler_AT_ucdavistpamsler@ucdavis.edu"/>
            	</email>
    
        </publishers>
      </project>
    
    </cruisecontrol>
    
    

Start the Build Loop

  • cd ~/local/work/cruise
  • chmod 755 ~/local/cruisecontrol-2.6/main/bin/cruisecontrol.sh
  • ~/local/cruisecontrol-2.6/main/bin/cruisecontrol.sh

...