I formatted it in Word, not sure if this could still be viewable after i paste here
Problem: “an assumed isolated changes to a minor part of codebase could cause the system break somewhere else”
You do not need to have included unit test and static analysis tools in order to have the benefits of a build server. While the latter two are important for a more robust cycle of continues integration.
The basic functionality of a build server is once the repository of codebase is changed (checkin), a full version of code base is checkout and built using the build scripts, tested with the test script and results are reported.
| Feature | What it does | Remarks | |
| Interfacing with Accompanying Tools |
| Interface with Source Control Systems | | Cvs, Subversion, Vss, ClearCase, PVCS, SourceGear Vault, StarTeam | |
| Interface with Build tools | | NAnt (*.build), MSBuild, Makefile, shellscript(*.bat, *sh) | |
| Interface with Unit Test tools | | NUnit | |
| Interface with Static Analysis tools | | FxCop, NCover | |
| Interface with other tools | | | |
| Support multiple versions of the same external tools (in the above) | | | Due to the changes of the dependent tools themselves, a hot-swap feature would be nice to have but not mandatory. |
| Deployment to Test Center | | ftp, xcopy | |
| Maintain Deployment Archive | | | trunk, branch, possibly the same way with source control? |
| Event Handling |
| Customization of Pre-Build Event (triggering) | | | What triggers an automatic build? |
| Multiple Post-Build Event Listeners (listening) | | Logs, e-mail, webpage, etc | Or derivatives from logs |
| Handle Manual Initiated Build | | | |
CruiseControl.net
http://cruisecontrol.sourceforge.net/
Draco.net
http://draconet.sourceforge.net/
More commercial tools
blackinkbottle
"please polish my crude soul", to the maker of blade the Samurai kneed down and said.