Continuous Integration Presentation

My Continuous Integration presentation in Dallas, Texas went pretty well.  Although I'm not a practiced speaker, it seems that the audience was engaged and interested.  I've even been invited to present on the same topic again to another group.

I've been asked to publish the slides.  They are oriented around my dev group's experience with CI, so they may not be as interesting to external folks.  Also, without me to explain them, it's just not the same :-)

Here's the presentation.


  • I can understand how having a continious build to a development server reduces time to find faults and improves quality. We have been doing this here for some time using SourceSafe, and nAnt.

    What I have never quite understood is how to fit QA, Load Testing, Staging, Live and other environments into the process? How do you control when to update each environment? Do you have a seperate source control branch for each? Also how do you fit database changes into the proccess?

  • I've always worked for an ISV - Since everything ends up on CD, there's really not the concept of a staging or prod environment.

    However, that doesn't mean that it can't be accomplished. First, you have to quantify what your rules are for acceptance into a given environment. For example, this might be a workflow:

    1. your 'smoke test' environment gets every single automated build.

    2. QA and Load Testing gets a new build each morning at a scheduled time. This build will be the latest build that passed smoke testing.

    3. Approval to Staging or Production normally requires human approval. These steps may as simple as manually launching a script, instead of automatically applying the update.

    As far as applying database changes, since I write enterprise software distributed on CD, I write an installer using WiX. All db changes occur through the installer.

    nAnt can handle this quite well, too. It's just important to write your SQL DDL and DML with the concept of deployment in mind (a step that many DBAs don't pay attention to!)

    It's mostly a matter of understanding and quantifying your existing process, and then automating it to the fullest extent possible.

  • Hi Jerry.
    Link to your presentation link is invalid.
    Could you fix it or just send me your presentation to emal Modelski dot Tomasz at gmail com ?

    Regards, Tomasz Modelski

Comments have been disabled for this content.