The CruiseControl machine is the machine that runs CruiseControl and all maven build processes automatically. The build process fetches the source from the SF CVS. The build process builds, deploys to localhost and runs all tests. The build process deploys the Maven JavaCareers site to the SF site.
Suse Linux supports visual remote administration if it is enabled with
Yast2/Services/Remote administration on
vnc:/MACHINE_IP:1.
First read Build setup, as some issues described in there are taken for granted.
Maven can generate the CruiseControl configuration.
/etc/init.d based on
/etc/init.d/skeleton if there is no RPM.
Verify that
$JAVA_HOME,
$MAVEN_HOME and
$PATH are correct.
Edit
~/.bashrc if necessary.
The Java home should point to a JDK, not a JRE.
You might want to set
$MAVEN_OPTS to
-Xmx512m
or more. Make sure the ssh-agent is booted.
An example of the
~/.bashrc profile script:
export JAVA_HOME=/usr/lib/java
export MAVEN_HOME=/home/cruisecontrol/maven
export PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_OPTS="-Xmx1024m"
# Boot the ssh agent
ssh-agent > ~/.ssh/agent-info
. ~/.ssh/agent-info
CRUISECONTROL_HOME/checkout
and checkout the project in that checkout directory, which results into
CRUISECONTROL_HOME/checkout/javacareers.
example.build.properties to
build.properties in the same directory
if you haven't done so already and edit the later.
Make sure you have run
javacareers:build at least once succesfully.
project.properties
are correct. Do not edit them on the CruiseControl machine as they are not local
and the CruiseControl machine must not commit anything.
maven cruisecontrol:configure cruisecontrol:install-local
CRUISECONTROL_HOME/config.xml is correct.
If you edit it, document it in this xdoc.
Edit
CRUISECONTROL_HOME/reporting/jsp/webcontent/xsl/maven.xsl
to limit the size of the cruisecontrol e-mails:
<xsl:template match="mavengoal" mode="maven">
<xsl:if test="./message[@priority='error']">
<tr class="compile-sectionheader">
<td>
<xsl:value-of select="@name"/>
</td>
</tr>
<tr>
<td>
<xsl:apply-templates select="./message" mode="maven"/>
</td>
</tr>
</xsl:if>
</xsl:template>
CRUISECONTROL_HOME/main/bin/cruisecontrol.sh is
correct.
You might want to add
-Xm512m or more as
java options.
CRUISECONTROL_HOME and
execute
main/bin/cruisecontrol.sh in that directory.