Changes

Jump to: navigation, search

SBR600 Overview of the Build and Release Process

533 bytes added, 00:23, 10 January 2011
no edit summary
[[Category:SBR600]]
''Software Build and Release'' refers to the specialized subfield of system administration that focuses on the process of building software from source code for the purpose of (initially) testing or for and (ultimately) releasing and distributing the software. Particular emphasis is placed on the reliable repeatability of the process (so the results can be reproduced) and automation (because the process is usually repeated thousands of times).
= Steps in the Build and Release Process =
* Compositing - Multiple packages and related collateral are combined into a format ready for distribution -- for example, an ISO disk image, or a software repository.
* Signing - A [[Public Key Cryptography]] signature is added to the software (or package) to prove the authenticity and origin of the software.
* Release - The software is officially released. Depending on how the software is distributed, this may mean sending a "Gold Disk" or "RTM" master media copy (USB or CD/DVD disc image) to a media duplication facility, or posting the software on a master site for download by users (or by mirror sites). Note that thousands of Build and Release cycles may be processed during software development and testing before the product is considered suitable for release.
* Distribution - Distributing the software, if in physical form, or making it available for download, or pushing it to automated update systems.
* Mirroring - Copying the software to multiple download servers so that a high volume of downloads can be accommodated at one time. Typically, mirrors will be located in various locations (where the "locations" are defined more by network topology than physical geography).
 
= Qualities of the Build and Release Process =
 
* Repeatability - Given the same inputs, the B&R process must reliably produce the same outputs each time.
* Automation - Since the B&R process will be repeated thousands of times through the life of a product, automation is important
* Speed/efficiency - To enable fast development, testing, and patching cycles, B&R processes are usually optimized for speed, using a number of strategies including distributed processing - build jobs may be spread across dozens or hundreds of machines.

Navigation menu