Show Changes Show Changes
Print Print
Recent Changes Recent Changes
Subscriptions Subscriptions
Lost and Found Lost and Found
Find References Find References
Rename Rename
Administration Page Administration Page
Search

History

10/23/2007 2:41:28 AM
-203.64.135.4
10/4/2007 11:04:24 PM
-203.69.39.251
10/23/2006 7:41:08 AM
-65.65.2.150
4/16/2006 1:19:03 AM
-195.91.54.81
3/1/2006 9:29:49 PM
-222.65.44.124
List all versions List all versions

RSS feed for the FlexWiki namespace

Build System
.
Summary

Overview

FlexWiki subscribes to the concept of Continuous Integration (CI). You can read more about CI at http://www.martinfowler.com/articles/continuousIntegration.html but the basic idea is quite simple: we perform a full build and run a full set of tests whenever changes are committed to CVS. By building and testing so frequently, we can ensure that integration problems (my code works on its own, but breaks in the presence of your code) are caught early, when they are easily dealt with.

From a developer's standpoint, the system is automatic; you need do nothing to take advantage of it other than commit your changes to CVS as normal. The FlexWiki adminstration staff has set up a CruiseControlDotNet build server that monitors CVS. Whenever it detects changes, it performs the following steps:

  1. Checks out the latest source
  2. Generates a new version number
  3. Builds the flexwiki.sln Visual Studio .NET solution
  4. Runs all unit tests
  5. Assembles the tested binaries into a distribution package
  6. Makes the binaries available for download
  7. Installs the binaries and performs further tests against a live instance
  8. Sends an email to the FlexWikiBuildsList developers with:
    1. The changes that triggered the build
    2. Information about whether the build was successful, and if not, what caused it to fail
    3. A summary of the test results
    4. A link to the download site for the compiled binaries

A complete history of all builds, including compilation results, unit test details, and unit test timings is maintained at http://builds.flexwiki.com .1

Very Cool

One of my favorite features of the BuildSystem is CCTray, a little notifier that sits in the Windows tray and notifies you of builds and their status as they happen on the build machine.

Building locally using BUILD.CMD

Developers are encouraged to run build.cmd at the root of the source directory before committing their changes, as this simulates much of what the build does and can help identify problems that might prevent the build from succeeding.

There are a number of command-line options available when you're working on your development machine. Read about the BuildOptions.

1 Some history was lost in a server crash - build history is only available back to build 1616.

www

Not logged in. Log in

Welcome to the home of FlexWiki, an experimental collaboration tool, based on WikiWiki.

This is FlexWiki, an open source wiki engine.

This site supports the new NoFollow anti-spam initiative.
Change Style

Recent Topics