practical configuration management n.
Skip this Video
Loading SlideShow in 5 Seconds..
Practical Configuration Management PowerPoint Presentation
Download Presentation
Practical Configuration Management

Loading in 2 Seconds...

play fullscreen
1 / 17

Practical Configuration Management - PowerPoint PPT Presentation

  • Uploaded on

Practical Configuration Management. Seattle Delphi Users Group June 6, 2002. Introduction. What is Configuration Management? Isn’t it just pretty basic stuff? Why does it always seem to be left to the very end of a project?

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

Practical Configuration Management

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
practical configuration management

Practical Configuration Management

Seattle Delphi Users Group

June 6, 2002

  • What is Configuration Management?
  • Isn’t it just pretty basic stuff?
  • Why does it always seem to be left to the very end of a project?
  • What does it take to integrate it with the entire development process?
what is configuration management
What is Configuration Management?
  • Version control Systems
  • Formal Build Procedures
  • Packaging / Distribution Processes
  • Build Verification Tests
  • Defect Tracking System



Req. Docs







isn t it just pretty basic stuff
Isn’t it just pretty basic stuff?
  • Yes. But when do you start?
  • VCS for small teams?
  • “InstallShield” for simple tools?
  • Plan on all projects being wildly successful, and growing more than you expect.
  • Put the infrastructure in place to make it manageable.
why does it always seem to be left to the very end of a project
Why does it always seem to be left to the very end of a project?
  • Development (often) focuses on Componentization, Compartmentalization, and Specialization.
  • CM is a task heavy with “integration” issues...
  • “It works on my ‘Dev’ box… I don’t know what else it requires to function…”
  • Uncertainty over what will ship, and what will wait until the next release.
  • Nobody wants to do it.
some tools for cm
Some Tools for CM
  • A good scripting tool
    • 4NT (
    • WinBatch
    • CScript
  • A Search/Replace text tool
    • SRWCons
    • Perl
  • CMLog – Configuration Management Logging System.
now what
Now what?
  • Overview of your basic build process
  • Some common Configuration Management Questions/example solutions.
  • Look at the CMLog build process to show how those questions are solved.
your basic build process
Your Basic Build Process
  • Developers check code into VCS
  • Build process gets latest source from VCS (Extraction)
  • Compile the source
  • Package the results
  • Build Verification Tests
  • Pass build on to QE
does order make a difference
Get all source

compile #1

compile #2, etc.

Package Prep


Get source for #1

compile #1

Package Prep

Get source for #2

compile #2

Package Prep


Does Order Make A Difference?
do i have to lock the vcs
Do I have to “Lock” the VCS?
  • How do I do a build with known-versioned code, without forcing all the developers to stop work during the process?
  • VCS Labels, Stripes, Pins, branches...
    • Fundamental point is to make some "marker" in the code, whereby it does not matter if developers check in ABOVE the marker.
    • Your extraction for a formal build is never off of the real "tip" per se, but based on the code at the time of the marker.
keeping scripts in sync w vcs
Keeping Scripts in sync w/VCS
  • The location of files are in flux, moving both on the file-system, and/or their location in the version control system.  How do I make the scripts that depend on the VSC easier to manage?
  • Abstract all interaction with the VCS to your own higher-level script.  See P4VCS.cmd
database schema and a vcs
Database Schema and a VCS
  • How can one manage all the SQL required for a DB application, while not providing that SQL to the customer?
  • SQLToBAS.EXE -- Reads a manifest that lists all the SQL files that need to be processed, converts it into a BAS file.(note: DTS in SQL can do this too, but it's much harder to keep all the SQL objects in a VCS)
documenting db schema
Documenting DB Schema
  • How does one adequately document DB Schema, stored procs, views, and other DB objects?
  • Semi-automated… see CMLog proc docs.
version stamping
Version Stamping
  • How do I stamp version numbers into the product?
  • That depends on what it is:
    • SQL files, such as Stored procs (or data that is inserted via SQL) can be searched/replaced during the build process.
    • DPR/PAS files can be auto-stamped, or use a similar search/replace technique.
localizing scripts for re use
Localizing Scripts for re-use
  • How do we make build scripts flexible enough to work on a variety of machines, were tools are located in different places for each developer?
  • Make use of the %ComputerName% environment variable, and let each box have a localizing variable file.