350 likes | 367 Views
Building a Distributed Release Process Using IBM Rational ClearCase, IBM Rational ClearDDTS at Cisco Systems. Rinat Ailon and Gadi Berman Cisco Systems rgoren@cisco.com gberman@cisco.com. Who are we?.
E N D
Building a Distributed Release Process Using IBM Rational ClearCase, IBM Rational ClearDDTS at Cisco Systems Rinat Ailon and Gadi Berman Cisco Systems rgoren@cisco.com gberman@cisco.com SCMA45
A release engineering team in Cisco Systems (15 release engineers), that provides process and tools for a distributed development and test environments (1800 engineers in 10 sites) Who Are We?
Specifically, we handle • Change Management • Build Management • In a distributed environment, using • IBM Rational ClearCase • IBM Rational ClearDDTS • IBM Rational ClearCase MultiSite
Products are built in 5 sites (SJ, Champaign, Netanya, Bangalore, Chennai) Builds should be monitored and controlled from all sites (mutually) Build machines should be protected Redundancy is needed for fast recovery Total of 100 different products/releases/platforms builds on 30 build machines, used by 10 development sites.
The strategy • The tools
The Strategy How?
Development Teams Release Engineering Team Test Teams Getting There Release Management PIT
The PIT • PIT – a cross organizational Process Improvement Team was established • The PIT includes developers, test engineers, team leaders, and a project manager, all working together to improve the release engineering process
PIT Baseline Deliverables Mapping the current process that is used ("is model"), and then identify the gaps, if exist, to a "should model" that would address better and improve team operations • Identifying our release engineering challenges/problems • Identifying the “should model” RE meta-process • Identifying the “should model” RE process boundaries • Defining the sub processes and provide requirements documents
Defining The Sub Processes Daily/Weekly Build Process • We have defined our current daily/weekly build process in terms of ownerships/responsibilities, occurrences, schedules, inputs, outputs, and customers
Once the current process is defined, we can start working on improving it
Integ Official Shared Private Change Management Improved Process • Developers work on private or shared branch (per task/ddts item) • Work is merged by developers (push) to the daily branch, where the integration (daily) build is performed • Work is merged by the project manager (pull) to the official (weekly) branch, where the official (weekly) build is performed
Build Improved Process The second phase was to improve the build tools, so it will align with the change management process and will provide a solution to our needs
Build Management Change Management Quality Assessment From Process To Tools
Change Management Process Support Tool • We have developed a tool and a concept designed to deploy our change management methodologies and make Rational ClearCase operations simpler
MATIS ClearCase Manager3.3 At a glance …
MCCM3.3 Example Operation – Create View Choose the profile to work with What is a profile? A profile is a shared branching scheme which the view is based on. By creating the view based on a profile – we do not need to know how to create config specs. Choose dynamic or snapshot view In a snapshot view you may add the load rules here. Use the “Add” and “Remove” buttons to edit the list of directories to load into the snapshot view
MCCM3.3 Example Operation - Merge Choose branch to merge from. Only the important branches are shown. Choose view to merge to. and then …
Merge Choose in which directory you want to look for files that need merging. and then …
Rational ClearCase Merge Manager Will Appear With The List Of Relevant Files:
Sites With No Rational ClearCase Servers • Site with no Rational ClearCase servers, use Rational ClearCase Web interface
MATIS Build System • MATIS Build System is a generic build framework that can wrap any type of build architecture and provides: • Web interface for scheduling, controlling and monitoring builds • Log parser for easy lookup and messaging of errors • Builds related reporting system • Protects build machines and provides redundancy between machines
Schedule builds Start/Stop/Continue/Rerun builds Monitor running builds Build Control Center
Official BuildBoard Public board to hold official builds for a product to be downloaded
Build Reports Reporting on changes made between two builds and changes made from a certain build to the upcoming build
Quality Metric Graphs System • Displays the current status of a product’s quality during the development cycle
Quality Metric Graphs system • Displays the trend of a product’s quality during the development cycle
Thank You Gadi Berman gberman@cisco.com Rinat Ailon rgoren@cisco.com