Practical Configuration Management Seattle Delphi Users Group June 6, 2002.

Slides:



Advertisements
Similar presentations
Development Life Cycle using Visual Studio Team Edition for DB Professionals Richard Fennell Engineering Director SQLBits II Birmingham 1 st March 2008.
Advertisements

More about Ruby Maciej Mensfeld Presented by: Maciej Mensfeld More about Ruby dev.mensfeld.pl github.com/mensfeld.
Configuration management
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer Tips & Tricks Jeff Smith
HIGH PERFORMANCE CONTINUOUS DELIVERY VERSIONING AND RELEASE MANAGEMENT ALIGNED.
Version Control Systems Phil Pratt-Szeliga Fall 2010.
CS 501 : An Introduction to SCM & GForge An Introduction to SCM & GForge Lin Guo
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
1 CMPT 275 Software Engineering Revision Control.
(code name: Data Dude) Josh Robinson Aculix.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
System Integration and Build Management Christian Schröder Roman Antonov.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
Migrating to EPiServer CMS 5 Johan Björnfot -
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Configuration Management (SCM)
M. Gallas IT-API LCG SPI project: testing1 Software Testing Infrastructure status LCG Software Process & Infrastructure (CERN, 10/23/02)
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
Sage CRM Developers Course
1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.
1 DAN FARRAR SQL ANYWHERE ENGINEERING JUNE 7, 2010 SCHEMA-DRIVEN EXPERIMENT MANAGEMENT DECLARATIVE TESTING WITH “DEXTERITY”
3/8/00asp00 1 Active Server Pages from Microsoft Nancy McCracken Northeast Parallel Architectures Center at Syracuse.
Software Engineering Modern Approaches
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
1 Lecture 19 Configuration Management Software Engineering.
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
Database Change Management One solution to an often complex problem Kevin Hurwitz Headspring Systems
BI4ALL Demonstration 03 Stored Procedures 1/7/2012
Michael Still Google Inc. October, Managing Unix servers the slack way Tools and techniques for managing large numbers of Unix machines Michael.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Kako razvijate PL/SQL pakete? File based PL/SQL development Mitja Golouh SIOUG 2006,
Michele Caselle INFN - BariITS Meeting 4 Jun 2002 LabVIEW&Windows – MySQL interface  SPD database general architecture  LabVIEW – MySQL interface. 
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
Beginning Fortran Fortran (77) Advanced 29 October 2009 *Black text on white background provided for easy printing.
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
PHP, Databases, and Cookies Dave Pease IDS496 12/2/2003
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
Real World SQL Server Data Tools Benjamin
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Continuous Integration for Databases Steve Jones SQLServerCentral Red Gate Software.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
E2G Web Services E2G Scripts and Methods E2G Domain Logic E2G Domain Logic Client Custom Scripts and Methods Client Custom Scripts and Methods E2G Rules.
SSIS 2012: The Quiet Revolution Presented by Bryan Cafferky Business Intelligence Consultant BPC Global Solutions LLC
Presented By: Jessica M. Moss
Efficiently Searching Schema in SQL Server
Software Documentation
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
Continuous Integration For Databases
Defining and Calling a Macro
REAL-TIME, INTERACTIVE DOCUMENT AUTOMATION
DAT381 Team Development with SQL Server 2005
AppointmentmentPeach Appointment Manager
Keeping your SQL Code safe
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Michael Stephenson Microsoft MVP - Azure
Presentation transcript:

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? What does it take to integrate it with the entire development process?

What is Configuration Management? Version control Systems Formal Build Procedures Packaging / Distribution Processes Build Verification Tests Defect Tracking System Build Test Defects VCS Coding BVT Req. Docs InstallPackaging

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? 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.

What does it take to integrate CM in a Development Process? Patience Communication Lots of tools

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? 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 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 Packaging Get source for #1 compile #1 Package Prep Get source for #2 compile #2 Package Prep Packaging

Miscellaneous ‘How To’

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 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 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 How does one adequately document DB Schema, stored procs, views, and other DB objects? Semi-automated… see CMLog proc docs.

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 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.