Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences


Referenced by
AppFuseSupport
Articles
Articles_cn
Articles_de
Articles_pt
Articles_zh




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuseCruiseControl


Difference between version 11 and version 10:

At line 46 changed 2 lines.
!!Can you test all of AppFuse?
When I try to run the attached [build-appfuse.xml] on my Mac and Linux machines, I get OutOfMemory errors. My PowerBook has ANT_OPTS set to "-Xmx768m" and my Fedora Core 3 box has it set to "-Xms1024M -Xmx1024M". It actually dies a lot sooner on Linux, and the PowerBook gets ''really'' close to finishing. The full build and test takes about 45 minutes. There are currently 21 AppFuse combinations tested by this script. Spring is used in all of these, so I've eliminated that as a listed option.
!!Setup CruiseControl Daemon
After getting all the above working, I setup CruiseControl to run as a daemon. I has some issues with getting [these instructions|http://confluence.public.thoughtworks.org/display/CC/RunningCruiseControlFromUnixInit] working, so I [pinged the mailing list|http://sourceforge.net/mailarchive/forum.php?thread_id=6341034&forum_id=2203]. After a few back-and-forth e-mails, the following solution worked for me on Suse 9.0.
At line 49 changed 1 line.
''__NOTE:__ If you're trying this on Windows, remove the "fixcrlf" call at the beginning of the "test" target.''
* Create an /etc/init.d/cruisecontrol script with the following script. Make sure and chmod +x /etc/init.d/cruisecontrol.
<div style="margin-left: 40px">
{{{
#!/bin/sh
At line 51 changed 22 lines.
# Struts + Hibernate
# Struts + Hibernate and iBATIS
# Struts + iBATIS
# Struts with AppGen - Generic
# Struts with AppGen - Detailed
# Spring MVC + Hibernate
# Spring MVC + iBATIS
# Spring MVC with AppGen - Generic
# Spring MVC with AppGen - Detailed
# WebWork + Hibernate
# WebWork + iBATIS
# WebWork with AppGen - Generic
# WebWork with AppGen - Detailed
# JSF + Hibernate
# JSF + iBATIS
# JSF with AppGen - Generic
# JSF with AppGen - Detailed
# Tapestry + Hibernate
# Tapestry + iBATIS
# Tapestry with AppGen - Generic
# Tapestry with AppGen - Detailed
----
#
# Edit these variables to suit your Cruise Control installation
# chkconfig: - 345 99 05
# description: Script used to start and stop the CruiseControl auto-build system
#
CCDIR=/home/cc/cruisecontrol
CCSTARTSCRIPT=${CCDIR}/main/bin/cruisecontrol.sh
CCCONFIGFILE=/home/cc/work/config.xml
CCLOGFILE=/home/cc/cc-daemon.log
CCPORT=8000
CCCOMMAND="${CCSTARTSCRIPT} -configfile ${CCCONFIGFILE} -port ${CCPORT}"
CCUSER=cc
#
# DO NOT CHANGE ANTHING BELOW THIS LINE
#
umask 002
export CCDIR
# PPID is read-only
PARPID=`ps -ea -o "pid ppid args" | grep -v grep | grep "${CCSTARTSCRIPT}" | sed -e 's/^ *//' -e 's/ .*//'`
if [ "${PARPID}" != "" ]
then
PID=`ps -ea -o "pid ppid args" | grep -v grep | grep java | grep "${PARPID}" | \
sed -e 's/^ *//' -e 's/ .*//'`
fi
case "$1" in
'start')
su - ${CCUSER} -c "${CCCOMMAND}" > ${CCLOGFILE} 2>&1 & RETVAL=$?
echo "cruisecontrol started with jmx on port ${CCPORT}"
;;
'stop')
if [ "${PID}" != "" ]
then
kill -9 ${PID} ${PARPID}
$0 status
RETVAL=$?
else
echo "cruisecontrol is not running"
RETVAL=1
fi
;;
'status')
kill -0 ${PID} >/dev/null 2>&1
if [ "$?" = "0" ]
then
echo "cruisecontrol (pid ${PARPID} ${PID}) is running"
RETVAL=0
else
echo "cruisecontrol is stopped"
RETVAL=1
fi
;;
'restart')
$0 stop && $0 start
RETVAL=$?
;;
*)
echo "Usage: $0 { start | stop | status | restart }"
exit 1
;;
esac
exit ${RETVAL}
}}}</div>
* Create a symlink to it from /etc/rc.d/rc5.d so CruiseControl will start when the server boots.
<div style="margin-left: 40px">
{{{
cd /etc/rc.d/rc5.d
ln -s /etc/init.d/cruisecontrol S18cruisecontrol
}}}
</div>
That's it - you should be able to run /etc/init.d/cruisecontrol as root and CC will check for new updates every hour.

Back to AppFuseCruiseControl, or to the Page History.