Using CruiseControl with Subversion_http://raibledesigns.com/rd/entry/using_cruisecontrol_with_subversion

Using CruiseControl with Subversion This morning, I had the pleasure of setting up an AppFuse-based project to run under CruiseControl. Normally, this is very easy to do because I have the CruiseControl setup files and instructions. However, this project uses Subversion instead of CVS. Luckily, Subversion is easy to use and I was able to modify things to work quite easily. Below are the steps you can take to modify your AppFuse project to run under CruiseControl and Subversion.

  • Download svant and extract it to your work directory.
  • In build.xml, change your "cvs" target to "svn" and change the tasks appropriately.

        <path id="svn.classpath">
            <fileset dir="svnant-1.0.0-rc1/lib" includes="*.jar"/>
        </path>
            
        <taskdef resource="svntask.properties" classpathref="svn.classpath"/>
        
        <target name="svn">
            <delete dir="checkout/appfuse"/>
            <svn>
                <checkout url="https://svn.java.net/svn/appfuse/trunk" 
                    revision="HEAD" destPath="checkout/appfuse" />
            </svn>
        </target>
    
  • Modify the "test" target in build.xml to depend on "svn".
  • In config.xml, change the <modificationset> to be <svn LocalWorkingCopy="/home/cc/work/checkout/appfuse"/> instead of the <cvs> equivalent.

The instructions have been documented on the wiki and checked into AppFuse's CVS. Posted in Java at Aug 24 2005, 10:24:26 AM MDT 4 Comments

Comments:

Matt, I went through the same exercise a couple of months back for Connector/J. What I found was _really_ nice about moving to this setup is that the amount of network traffic consumed checking for new versions is much, much less with SVN than it was when CruiseControl was using CVS...Basically checking for the repository version #, versus scanning a large chunk of the HISTORY from CVS. (I run cruise control locally, the source repositories for MySQL are in Sweden, so _this_ was a big issue for me!). -Mark

Posted by Mark Matthews on August 24, 2005 at 11:32 AM MDT #

Matt, you might want to try out Luntbuild. You can get projects up and running in literally 15 minutes -- it's all configured via a webapp. The only issue I've had with it is that it cannot be run easily as a windows service. Otherwise, it's the ideal build management system.

Posted by Ashish Kulkarni on August 25, 2005 at 12:06 AM MDT #

Installing LuntBuild on Fedora Core 3, JDK 1.5 and Resin, first impressions:

It was quick and easy with Subversion, and yes it looks well designed.

two problems:

When the framework detects a problem, it shuts down and restarts itself. From what I see, the details are minimum and occurs every 15 minutes.

the logs have the following messages:
---snip---
2005-08-30 20:06:08,672 WARN  net.sf.ehcache.CacheManager - CacheManager already shutdown
2005-08-30 20:06:08,672 INFO  com.luntsys.luntbuild.utility.Luntbuild - application shutdown complete
2005-08-30 20:06:28,393 INFO  com.luntsys.luntbuild.utility.Luntbuild - Leaving application initialization
2005-08-30 20:21:23,460 INFO  com.luntsys.luntbuild.utility.Luntbuild - Enter application shutdown
2005-08-30 20:21:23,466 WARN  net.sf.ehcache.CacheManager - CacheManager already shutdown
2005-08-30 20:21:23,467 INFO  com.luntsys.luntbuild.utility.Luntbuild - application shutdown complete
2005-08-30 20:21:43,245 INFO  com.luntsys.luntbuild.utility.Luntbuild - Leaving application initialization
2005-08-30 20:36:38,313 INFO  com.luntsys.luntbuild.utility.Luntbuild - Enter application shutdown
---snip---

Then, spawning svn commands works, however has this error:

---snip---
2005-08-30 15:48:10,914 INFO  com.luntsys.luntbuild.BuildGenerator - Getting revisions for project "projectName"...
2005-08-30 15:48:10,962 DEBUG com.luntsys.luntbuild.BuildGenerator - Execute command: Executing '/usr/local/bin/svn' with arguments:
'log'
'svn://svnserver.mydomain.com:3692/projectName'
'--username'
'myname'
'--password'
'******'
'--non-interactive'
'-v'
'--xml'
'-r'
'{2005-08-30T22:33:34Z}:{2005-08-30T22:48:10Z}'

The ' characters around the executable and arguments are
not part of the command.
---snip---

the issue is that the command exits with a non-zero status, so the build is logically broken even though everything between svn, java and ant work fine.

Off to try CruiseControl, then buildbot next.

Posted by Mike Gleeson on August 31, 2005 at 11:34 AM MDT #

Matt, Check our Parabuild - it's a prduction-grade commercial continuous integration and build management server. It supports Subversion and is very easy to install (about 2 minutes).

Posted by Segey Pashin on October 02, 2005 at 04:32 PM MDT #

你可能感兴趣的:(SVN,application,subversion,Appfuse,Comments,initialization)