release monkey
DESCRIPTION
Build, test and release your software into the wild. Talk given by Jonathan Oxer at OSCON in July 2007. Release software involves many sub-tasks including building packages for multiple target platforms, running test suites, managing software repositories, and sending notifications. Release Monkey is a project to provide a simplified equivalent to the Debian release infrastructure for use by smaller projects or organizations wanting to release their software for multiple target distributions and architectures. It integrates bug tracking, source code management and package building to take as much load off individual developers as possible. More information at http://jon.oxer.com.au/talks/id/78TRANSCRIPT
ReleaseMonkey
July 25th, 2007O'Reilly Open Source Convention
Portland, Oregon, USA
Build, Test, and ReleaseYour Software into the Wild
Jonathan Oxer <[email protected]>
The Problem
Release Monkey Jonathan Oxer <[email protected]>
Build-Test-Releaseand Deploy
is really expensive
The Moving Parts
Release Monkey Jonathan Oxer <[email protected]>
Source code managementBug / issue trackingInternal documentationUnit testingFunctional testingDistribution packagingPackage deployment
The Moving Parts
Release Monkey Jonathan Oxer <[email protected]>
Automate your world:hooks and APIs
SCM / Revision Control
Release Monkey Jonathan Oxer <[email protected]>
No SCM?
Go directly to jailDo not pass GO
Do not collect $500
Bug Closure
Release Monkey Jonathan Oxer <[email protected]>
Check commitmessages for
“Closes: #xxxx”
Build Daemons
Release Monkey Jonathan Oxer <[email protected]>
Check commitmessages for
“release” ANDmodified changelog
Build Daemons
Release Monkey Jonathan Oxer <[email protected]>
Add release-blockerto bug tracker
(QA-Test/Critical)
Deploy On Test Servers
Release Monkey Jonathan Oxer <[email protected]>
Migrate packageto “testing” repo
Deploy On Test Servers
Release Monkey Jonathan Oxer <[email protected]>
Have test serverspull down packages
Automatic Testing
Release Monkey Jonathan Oxer <[email protected]>
Run unit tests /functional testsautomatically
Automatic Testing
Release Monkey Jonathan Oxer <[email protected]>
Add results tobug tracker,
email developerwith breakage
Manual Testing
Release Monkey Jonathan Oxer <[email protected]>
Pre-populateclean data,
give each testertheir own sandbox
Release Approval
Release Monkey Jonathan Oxer <[email protected]>
Release prevented byrelease-blockers
Release Approval
Release Monkey Jonathan Oxer <[email protected]>
Close the QA bug torelease the package
Production Deployment
Release Monkey Jonathan Oxer <[email protected]>
Migrate packagesto “stable” repo
Production Deployment
Release Monkey Jonathan Oxer <[email protected]>
Production serverspull stable packages
Thanks:-)
These slides: jon.oxer.com.au/talks
Shameless plug: www.releasemonkey.org
Contact: Jonathan Oxer <[email protected]>