LAMS 2.0 Continuous Integration
For development of LAMS 2.0 we have implemented a continuous build process using CruiseControl
, a continous integration toolkit.
| Every 30 minutes the CVS repository is checked for any modifications to registered projects since the last build time. |
Build Results
Results from LAMS 2.0 builds can be viewed using the CruiseControl
web application - see http://shaun.melcoe.mq.edu.au/cruisecontrol![]()
Clicking on the above link will show you the build process status page.
Click on "lams_build" to view the Build Results page. All the build log details will be presented.
The logs for each build can be found as an XML file in the working directory /export/work/cruise/logs on Shaun.
For every successful build Artifacts are produced, and stored in the working directory /export/work/cruise/artifacts/lams_build
on Shaun.
Artifacts can be downloaded via the "Build Artifacts" link on the Build Results
page.
Control Instructions
Using a Control Panel you are able to pause/resume the build process and force a build.
Go to the Control Panel: http://shaun.melcoe.mq.edu.au:8000/mbean?objectname=CruiseControl+Project%3Aname%3Dlams_build![]()
Under the "Operations" heading, click the Invoke button for the desired operation: resume, pause, build
After invoking a resume/pause operation, return to the page to check the project's Paused read-only attributed.
After invoking a build operation, return to the page to check the project's status attribute or similiarly the project's status homepage
.
Adding a New Project
To add a new project i.e. a Tool to the LAMS 2.0 build process complete the following steps:
1. Checkout Project from CVS
At the Unix command line:
- cvs login (note: CVSROOT should be set to :pserver:anonymous@code.lamsfoundation.org:2401/usr/local/cvsroot)
- cd /export/work/cruise/checkout
- cvs checkout {project name}
2. Update Config
- edit config.xml located in the working directory /export/work/cruise
- add the cvs element (below) as a child of the modificationset element in config.xml
The project will now be picked up in the next build.
Note: CruiseControl
does not need to be restart.