apt configuration management may 25th, 2004 apt configuration management jesse doggett

22
APT Configuration Managem ent May 25th, 2004 APT Configuration Management

Upload: debra-long

Post on 17-Jan-2018

219 views

Category:

Documents


0 download

DESCRIPTION

APT Configuration Management May 25th, Configuration Management ANSI/EIA-649 ANSI/EIA-649  "A management process for establishing and maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life." (http://www.pdmic.com/cmic/introtoCM.shtml) Susan Dart Susan Dart  "The goals of using CM are to ensure the integrity of a product and to make its evolution more manageable.” (http://www.loria.fr/~molli/cm-index.html)

TRANSCRIPT

Page 1: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004

APT Configuration Management

Jesse DoggettJesse Doggett

Page 2: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 2

Outline for the Talk

What Is Configuration Management?What Is Configuration Management?

APT Development ChallengesAPT Development Challenges

APT CM TechniquesAPT CM Techniques

ConclusionConclusion

Page 3: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 3

Configuration Management ANSI/EIA-649ANSI/EIA-649

"A management process for establishing and maintaining "A management process for establishing and maintaining consistency of a product's performance, functional and consistency of a product's performance, functional and physical attributes with its requirements, design and physical attributes with its requirements, design and operational information throughout its life."operational information throughout its life." ((http://www.pdmic.com/cmic/introtoCM.shtmlhttp://www.pdmic.com/cmic/introtoCM.shtml))

Susan DartSusan Dart "The goals of using CM are to ensure the integrity of a "The goals of using CM are to ensure the integrity of a

product and to make its evolution more manageable.”product and to make its evolution more manageable.” (http://www.loria.fr/~molli/cm-index.html)(http://www.loria.fr/~molli/cm-index.html)

Page 4: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 4

Tracking and Controlling Changed

A Little to a LotA Little to a Lot

None for My Web PageNone for My Web Page

Extreme Tactics for All Aspects of Project ManagementExtreme Tactics for All Aspects of Project Management

Page 5: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 5

APT Development Challenges Code Integrity Code Integrity (Design, Implementation)(Design, Implementation)

Multiple Developers Multiple Developers (Implementation)(Implementation)

Build Availability Build Availability (build, testing)(build, testing)

Release Requirements Release Requirements (release)(release)

Page 6: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 6

Multiple Classes of Users Multiple Classes of Users (requiements, release)(requiements, release)

Multiple Platforms Multiple Platforms (implement, build, (implement, build, test, release)test, release)

Concurrent Release Development Concurrent Release Development (implement, build, test)(implement, build, test)

More Challenges

Page 7: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 7

APT CM Practices Good DesignGood Design (design) (design)

Uniform Build SystemUniform Build System (implement, (implement, build)build)

Source Code Control Source Code Control (implement, build)(implement, build)

Automated BuildsAutomated Builds (build, test) (build, test)

Page 8: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 8

More CM Practices InstallAnywhere Installers Generator InstallAnywhere Installers Generator

Alpha/Beta/Candidate VersioningAlpha/Beta/Candidate Versioning

Regularly Scheduled ReleasesRegularly Scheduled Releases

Documented Release ProceduresDocumented Release Procedures

Page 9: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 9

APT Organization

Document BrowserDocument Browser

Hierarchical Model for DocumentsHierarchical Model for Documents

Generic Form & SpreadSheet EditorsGeneric Form & SpreadSheet Editors

Plug-and-Play Editor ToolsPlug-and-Play Editor Tools

Page 10: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 10

Page 11: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 11

ANT Build System.

ANT is a Java Based ANT is a Java Based Make-Like Make-Like UtilityUtility Incorporates Many File System CommandsIncorporates Many File System Commands Platform IndependentPlatform Independent XMLXML Build Files Build Files

Page 12: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 12

Simple ANT Buld File<<projectproject name=“myproject” default=“build” basedir=“.”>

<propertyproperty name=“classes” value=“${basedir}/classes”/>

<targettarget name=“build” depends=“init”>

<javajava srcdir=“${basedir}” destdir=“${classes}”/></targettarget>

<targettarget name=“init”>

<mkdirmkdir dir=“${classes}”/></targettarget>

</projectproject>

Page 13: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 13

CVS Source Code Control

CVS Allows Source Code SharingCVS Allows Source Code Sharing

Branch Tags for Each ReleaseBranch Tags for Each Release

Isolate CodeIsolate Code

Quick FixesQuick Fixes

Page 14: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 14

Page 15: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 15

InstallerAnywhere

InstallAnywhereInstallAnywhere Automatically Builds Installers Automatically Builds Installers

Supports Multiple Platform InstallersSupports Multiple Platform Installers

Has a Graphical Interface to Define ProjectsHas a Graphical Interface to Define Projects

Installers Are CustomizableInstallers Are Customizable

Batches Modes AvailableBatches Modes Available

Page 16: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 16

Page 17: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 17

Nightly Builds.

Nightly Builds Nightly Builds

Archived Weekly BuildsArchived Weekly Builds

Develop and Delivery Branch BuildsDevelop and Delivery Branch Builds

JavaDocJavaDoc API Documentation API Documentation

Page 18: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 18

APT Release Scheme

α Alpha Releasesα Alpha Releases

ß Beta Releasesß Beta Releases

Candidate ReleasesCandidate Releases

Bi-Monthly Operational ReleasesBi-Monthly Operational Releases

Phase I, Phase II, Calibration, HotPhase I, Phase II, Calibration, Hot

Page 19: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 19

Delivery APT

Documented Delivery Procedures a MustDocumented Delivery Procedures a Must

ArchivingArchiving

Quick FixesQuick Fixes

Patching: APTPatches.jarPatching: APTPatches.jar

Page 20: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 20

Main Strengths and Weaknesses

The latest develop version is always available. Code for each release is isolated. We are very robust to supporting multiple

platforms.

We don’t have a good way to safely manage long term projects (> 2 months).

Page 21: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 21

Lessons Learned

Automate as much as possible.Automate as much as possible. Use existing proven tools Communicate as much Use existing proven tools Communicate as much

as possible.as possible.

Page 22: APT Configuration Management May 25th, 2004 APT Configuration Management Jesse Doggett

APT Configuration Management May 25th, 2004 22

Conclusion: Top Practices

CVS Source ControlCVS Source Control

Nightly BuildsNightly Builds

33rdrd Party Installer Generator Party Installer Generator

www.stsci.edu/~doggett/cmtalk.htmlwww.stsci.edu/~doggett/cmtalk.html