-
Notifications
You must be signed in to change notification settings - Fork 5
Building and Testing with CruiseControl_9241965
nxi edited this page Apr 9, 2015
·
1 revision
Created by Tony Lam, last modified on Aug 27, 2007
This article discuss how to achieve continuous integration (CI) and automated testing for GumTree Project via CruiseControl. In this example, we will use the standard template that is used to build all GumTree artifacts within ANSTO. You may study the template and reconfigure to build customised GumTree for your facility.
+- gumtreebuild (contains anything for building and testing)
+-app (applications for sequencing building and testing)
+-apache-ant-1.7.0
+-cruisecontrol-bin-2.7
+-...
+-projects
+-gumtree (folder for building and testing GumTree)
+-config
+-source
+-...
+-dev (Eclipse stuff; similar structure as for your normal development environment)
+-ide (IDE for checking out template)
+-eclipse3.3
+-eclipse
+-target (All required Eclipse components for building GumTree RCP)
+-eclipse3.3
+-eclipse
+-workspace (workspace for checked template) Setup Eclipse as what you normally do for your development environment (see committer setup from this page for details)
- Windows XP
- JDK 6.0 or above
- Network connection the codehaus SVN repository
- CruiseControl 2.7 download
- ANT 1.7 download
- SvnAnt 1.1 download
- Eclipse SDK 3.3 download
- IDE Tools (optional -- only if you use Eclipse IDE as the subversion client to checkout the cruisecontrol template from SVN)
- Subversive
- RCP plugins (similar to want you need to build GumTree from Eclipse IDE)
- EMF, SWTplus, EclipseMonkey, SWT OpenGL, etc
+- gumtreebuild (contains anything for building and testing)
+-app (applications for sequencing building and testing)
+-apache-ant-1.7.0
+-cruisecontrol-bin-2.7
+-...
+-projects
+-gumtree (folder for building and testing GumTree)
+-config
+-source
+-...
+-dev (Eclipse stuff; similar structure as for your normal development environment)
+-ide (IDE for checking out template)
+-eclipse3.3
+-eclipse
+-target (All required Eclipse components for building GumTree RCP)
+-eclipse3.3
+-eclipse
+-workspace (workspace for checked template) Setup Eclipse as what you normally do for your development environment (see committer setup from this page for details)
- Install Eclipse IDE to D:\gumtreebuild\dev\ide with subversive
- Install Eclipse RCP target to D:\gumtreebuild\dev\target with required RCP plugins
- URL: http://svn.codehaus.org/gumtree/
- Path: files/cruisecontrol/trunk/cruisecontrol.nbip
- config.xml
- The customised CruiseControl config file that calls ANT 1.7 to build GumTree. It also merges the test results and publishes final artifacts to the archive folder
- gumtree folder
- This folder contains build and test configuration for each GumTree RCP distribution.
- Extract CruiseControl to D:\gumtreebuild\app\cruisecontrol-bin-2.7
- Set JAVA_HOME to your JDK6 directory (required by the Jetty server)
- Set webport in cruisecontrol.bat to 6060 (if another service has used the 8080 port)
- Uncomment CC_OPTS in cruisecontrol.bat for more heap memory
- Extract ANT 1.7 to D:\gumtreebuild\app\apache-ant-1.7.0
- Extract all SvnAnt lib files to D:\gumtreebuild\app\apache-ant-1.7.0\lib
- Remove the existing CruiseControl example in D:\gumtreebuild\app\cruisecontrol-bin-2.7\projects
- Copy the gumtree folder in the CruiseControl template "cruisecontrol.nbip" (as previously checked out from Codehaus SVN) to D:\gumtreebuild\app\cruisecontrol-bin-2.7\projects
- Replace config.xml in the CruiseControl template "cruisecontrol.nbip" to D:\gumtreebuild\app\cruisecontrol-bin-2.7
- Edit the build properties file D:\gumtreebuild\app\cruisecontrol-bin-2.7\projects\gumtree\build.properties
- Unmask #sourceCheckout=true to sourceCheckout=true
- URL: http://svn.codehaus.org/gumtree/
- Path: files/cruisecontrol/trunk/cruisecontrol.nbip.scheduler
- feature, org.gumtree.platform-feature, https://[email protected]/gumtree/platform/trunk/org.gumtree.platform-feature
- plugin, org.gumtree.ui, https://[email protected]/gumtree/platform/trunk/org.gumtree.ui
- isee.skipBuild=true
- Source check out / update
- Product build and packaging
- Product testing
- Merging test results into build log
- Publish exported artifacts to archive folder
Document generated by Confluence on Apr 01, 2015 00:11
Home | Developer Guide | Copyright © 2013 ANSTO