Proposed Continuous Build Setup
Submitted by
ew2.
on 2009-05-28 09:22.
A diagram and a short description of all parts of a continuous build system for Connexions
Continuous Build System
Naginata
- Naginata is the test server. This could become a generic test URL such as test.cnx.rice.edu.
- Selenium RC is a server that is used to automate the running of Selenium tests. The server can be passed a suite of tests to run. It handles the opening of the browser and records the results in an HTML file. Selenium RC is written in java.
- Hadoop is a platform for distributed processing. It will be used to distribute the testing across PCs that have the Hadoop client installed. It allows parts of tests to be run across many PCs. Hadoop is written in Java and is from the Apache Foundation. This part of the system is optional.
- Buildbot is a python system for continuous testing. It will be used to check out code from SVN, create the instances and run the desired tests either on Naginata or on the distributed PCs. Buildbot has a master/slave model. Naginata will serve as both. It is possible we can use VirtualBox as a slave on Naginata. Buildbot has the ability to run the entire test across many PCs.
- Connexions Instances - we will need 2 instances running on Naginata to allow timing and comparison tests to be run in parallel.
SVN
- Buildbot will checkout the needed code from SVN before running any tests.
Random PCs (optional)
- In order to speed up the time needed to run tests, we will use the processing power available from all of our PCs.
- Hadoop client - Hadoop will send part of the testing to each PC with the Hadoop client
- Selenium RC - in order for Hadoop to distribute the Selenium tests, each PC used for testing will need to have Selenium RC running.
- All Hadoop client PCs will run tests against the Connexions instances on Naginata.
