<rdf:RDF
    xmlns:s='http://snipsnap.org/rdf/snip-schema#'
    xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
    xml:base='http://wiki.marandcustomsolutions.com/rdf'>
    <s:Snip rdf:about='http://wiki.marandcustomsolutions.com/rdf#Development/Cruisecontrol'
         s:name='Development/Cruisecontrol'
         s:cUser='mpecher'
         s:oUser=''
         s:mUser='mpecher'>
        <s:content>The defacto for continuous-integration.&#xD;&#xA;&#xD;&#xA;This link is a comparison matrix of similar products:&#xD;&#xA;http://docs.codehaus.org/display/DAMAGECONTROL/Continuous+Integration+Server+Feature+Matrix&#xD;&#xA;&#xD;&#xA;1 Passing Cruise build number to ant:\\&#xD;&#xA;Use __${label}__\\&#xD;&#xA;----&#xD;&#xA;1 Linux service&#xD;&#xA;http://confluence.public.thoughtworks.org/display/CC/RunningCruiseControlFromUnixInit&#xD;&#xA;1.1 Sudo:&#xD;&#xA;To enable sudo on a service see [Linux/Commands/SUDO] for an example&#xD;&#xA;----&#xD;&#xA;1 Logging&#xD;&#xA;Cruisecontrol can be configured, (or log4j really) to log to a telnet appender:&#xD;&#xA;_log4j.properties_&#xD;&#xA;{code}&#xD;&#xA;log4j.rootCategory=INFO,HUB,A1&#xD;&#xA;&#xD;&#xA;# HUB is a socket hub appender&#xD;&#xA;log4j.appender.HUB=org.apache.log4j.net.TelnetAppender&#xD;&#xA;log4j.appender.HUB.layout=org.apache.log4j.PatternLayout&#xD;&#xA;log4j.appender.HUB.layout.ConversionPattern=[cc]%d{MMM-dd HH:mm:ss} %-14.14c{1}- %m%n&#xD;&#xA;log4j.appender.HUB.port=9007&#xD;&#xA;&#xD;&#xA;# File Appender to capture the overnight run output&#xD;&#xA;log4j.appender.A1=org.apache.log4j.FileAppender&#xD;&#xA;log4j.appender.A1.File=/tmp/r2_0_light.out&#xD;&#xA;log4j.appender.A1.layout=org.apache.log4j.PatternLayout&#xD;&#xA;log4j.appender.A1.layout.ConversionPattern=[cc]%d{MMM-dd HH:mm:ss} %-14.14c{1}- %m%n&#xD;&#xA;log4j.appender.A1.Append=false&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;In the cruisecontrol config.xml:&#xD;&#xA;{code:xml}&#xD;&#xA;&lt;schedule interval=&quot;180&quot;&gt;&#xD;&#xA;      &lt;ant antWorkingDir=&quot;/export/my_build_loc/dev&quot;&#xD;&#xA;           saveLogDir=&quot;/var/log/cruisecontrol/my-build/antlogs&quot;&#xD;&#xA;           anthome=&quot;/opt/apache-ant-1.6.5&quot;&#xD;&#xA;           target=&quot;-lib /etc/cruisecontrol/my-build:/opt/cruisecontrol/lib/log4j.jar &#xD;&#xA;-listener org.apache.tools.ant.listener.Log4jListener cruise&quot;&#xD;&#xA;           usequiet=&quot;true&quot;&#xD;&#xA;           uselogger=&quot;true&quot;&gt;&#xD;&#xA;        &lt;property name=&quot;props.file&quot; value=&quot;/etc/cruisecontrol/my-build/build.properties&quot;/&gt;&#xD;&#xA;      &lt;/ant&gt;&#xD;&#xA;    &lt;/schedule&gt;&#xD;&#xA;&#xD;&#xA;{code}&#xD;&#xA;&#xD;&#xA;Then to see the logs, connect to the machine using telent with port 9007 (as specificed in the port above). ~(If using Putty, ensure that for Terminal, Implicit CR in ever LF) is selected for the output to look ok)~</s:content>
        <s:mTime>2006-06-06 16:56:43.0</s:mTime>
        <s:cTime>2005-12-20 15:34:14.0</s:cTime>
        <s:comments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
        <s:snipLinks>
            <rdf:Bag>
                <rdf:li rdf:resource='#snipsnap-index'/>
                <rdf:li rdf:resource='#snipsnap-search'/>
                <rdf:li rdf:resource='http://wiki.marandcustomsolutions.com/rdf#Development/Java &amp; J2EE/Websphere'/>
                <rdf:li rdf:resource='#Development'/>
                <rdf:li rdf:resource='http://wiki.marandcustomsolutions.com/rdf#Development/Java &amp; J2EE/Spring'/>
                <rdf:li rdf:resource='http://wiki.marandcustomsolutions.com/rdf#snipsnap-index/Too much time'/>
                <rdf:li rdf:resource='#Books'/>
            </rdf:Bag>
        </s:snipLinks>
        <s:attachments
             rdf:type='http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag'/>
    </s:Snip>
</rdf:RDF>

