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
![Page 1: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/1.jpg)
ReleaseMonkey
July 25th, 2007O'Reilly Open Source Convention
Portland, Oregon, USA
Build, Test, and ReleaseYour Software into the Wild
Jonathan Oxer <[email protected]>
![Page 3: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/3.jpg)
The Problem
Release Monkey Jonathan Oxer <[email protected]>
Build-Test-Releaseand Deploy
is really expensive
![Page 7: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/7.jpg)
The Moving Parts
Release Monkey Jonathan Oxer <[email protected]>
Source code managementBug / issue trackingInternal documentationUnit testingFunctional testingDistribution packagingPackage deployment
![Page 8: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/8.jpg)
The Moving Parts
Release Monkey Jonathan Oxer <[email protected]>
Automate your world:hooks and APIs
![Page 12: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/12.jpg)
SCM / Revision Control
Release Monkey Jonathan Oxer <[email protected]>
No SCM?
Go directly to jailDo not pass GO
Do not collect $500
![Page 17: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/17.jpg)
Bug Closure
Release Monkey Jonathan Oxer <[email protected]>
Check commitmessages for
“Closes: #xxxx”
![Page 19: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/19.jpg)
Build Daemons
Release Monkey Jonathan Oxer <[email protected]>
Check commitmessages for
“release” ANDmodified changelog
![Page 23: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/23.jpg)
Build Daemons
Release Monkey Jonathan Oxer <[email protected]>
Add release-blockerto bug tracker
(QA-Test/Critical)
![Page 26: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/26.jpg)
Deploy On Test Servers
Release Monkey Jonathan Oxer <[email protected]>
Migrate packageto “testing” repo
![Page 27: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/27.jpg)
Deploy On Test Servers
Release Monkey Jonathan Oxer <[email protected]>
Have test serverspull down packages
![Page 28: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/28.jpg)
Automatic Testing
Release Monkey Jonathan Oxer <[email protected]>
Run unit tests /functional testsautomatically
![Page 29: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/29.jpg)
Automatic Testing
Release Monkey Jonathan Oxer <[email protected]>
Add results tobug tracker,
email developerwith breakage
![Page 30: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/30.jpg)
Manual Testing
Release Monkey Jonathan Oxer <[email protected]>
Pre-populateclean data,
give each testertheir own sandbox
![Page 31: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/31.jpg)
Release Approval
Release Monkey Jonathan Oxer <[email protected]>
Release prevented byrelease-blockers
![Page 32: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/32.jpg)
Release Approval
Release Monkey Jonathan Oxer <[email protected]>
Close the QA bug torelease the package
![Page 34: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/34.jpg)
Production Deployment
Release Monkey Jonathan Oxer <[email protected]>
Migrate packagesto “stable” repo
![Page 35: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/35.jpg)
Production Deployment
Release Monkey Jonathan Oxer <[email protected]>
Production serverspull stable packages
![Page 38: Release Monkey](https://reader034.vdocuments.mx/reader034/viewer/2022051209/5495bda8b479593d4d8b4df3/html5/thumbnails/38.jpg)
Thanks:-)
These slides: jon.oxer.com.au/talks
Shameless plug: www.releasemonkey.org
Contact: Jonathan Oxer <[email protected]>