Hi guys, lets use this thread to come up with a scope that a good build server cocovers:While BIB comes up with a more detailed one, let me kickstart the discussion by listing down some points which I think are required, with reference to .NET projects:. Integration with multiple source control systems. Integration with popular build scripting tools (to leverage on existing efforts) like nant. Web-based detailed logs. Good documentation for using the build server. FTP support for deployment to dev and uat servers. Xcopy support for dll deployment to network shares on dev servers. GUI based addition / exclusion of projects in daily builds. Versioning support across builds. Archiving support for previous builds. Programmatic access to build server to add extensions. multiple project and environment supportWhat am I missing? Guys, any comments.. Once we have finalized on the list of features, we will allow certain points to each, say 5 pts to feature 1, 2 pts to not so important feature 8, and then go out and mark the available build servers so we can use a mathematics based approach to choosing the best build server out there.
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
Best Regards, Kit Kai, MVP (SharePoint Portal Server)
~Softwaremaker (BLOG) M. Twain: "I didn't have time to write a short letter, so I wrote a long one instead"
kitkai wrote:Triplez said asian addition dun have soft copy...