release monkey

Post on 18-Dec-2014

1.652 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

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/78

TRANSCRIPT

ReleaseMonkey

July 25th, 2007O'Reilly Open Source Convention

Portland, Oregon, USA

Build, Test, and ReleaseYour Software into the Wild

Jonathan Oxer <jon@ivt.com.au>

The Problem

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Build-Test-Releaseis expensive

The Problem

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Build-Test-Releaseand Deploy

is really expensive

The Problem

Release Monkey Jonathan Oxer <jon@ivt.com.au>

It's a pain fordevelopers

The Problem

Release Monkey Jonathan Oxer <jon@ivt.com.au>

It's a pain forQA

The Problem

Release Monkey Jonathan Oxer <jon@ivt.com.au>

It's a pain foroperations

The Moving Parts

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Source code managementBug / issue trackingInternal documentationUnit testingFunctional testingDistribution packagingPackage deployment

The Moving Parts

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Automate your world:hooks and APIs

The Moving Parts

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Release Monkeyis glue

Release Monkey Jonathan Oxer <jon@ivt.com.au>

The Moving Parts

Release Monkey Jonathan Oxer <jon@ivt.com.au>

SCM / Revision Control

SCM / Revision Control

Release Monkey Jonathan Oxer <jon@ivt.com.au>

No SCM?

Go directly to jailDo not pass GO

Do not collect $500

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Internal Docs

Internal Docs

Release Monkey Jonathan Oxer <jon@ivt.com.au>

JavadocPHPDocDoxygen

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Bug Closure

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Bug Closure

Bug Closure

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Check commitmessages for

“Closes: #xxxx”

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Build Daemons

Build Daemons

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Check commitmessages for

“release” ANDmodified changelog

Build Daemons

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Push job tobuild boxes

Build Daemons

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Use distro packaging

Build Daemons

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Compile,build package,sanity-check

Build Daemons

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Add release-blockerto bug tracker

(QA-Test/Critical)

Build Daemons

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Push to“unstable”

repo

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Test Deployment

Deploy On Test Servers

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Migrate packageto “testing” repo

Deploy On Test Servers

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Have test serverspull down packages

Automatic Testing

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Run unit tests /functional testsautomatically

Automatic Testing

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Add results tobug tracker,

email developerwith breakage

Manual Testing

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Pre-populateclean data,

give each testertheir own sandbox

Release Approval

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Release prevented byrelease-blockers

Release Approval

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Close the QA bug torelease the package

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Production Deployment

Production Deployment

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Migrate packagesto “stable” repo

Production Deployment

Release Monkey Jonathan Oxer <jon@ivt.com.au>

Production serverspull stable packages

Release Monkey Jonathan Oxer <jon@ivt.com.au>

The Moving Parts

Release Monkey Jonathan Oxer <jon@ivt.com.au>

[Bananas Are Good!]

Thanks:-)

These slides: jon.oxer.com.au/talks

Shameless plug: www.releasemonkey.org

Contact: Jonathan Oxer <jon@ivt.com.au>

top related