– write once, deploy often –  Creating repeatable environments with Buildout
About me Kim Chee Leong Python developer since May 2007
Server administrator
Google Android developer
Introduction A bit of history
What is buildout and what can I do with it?
Buildout basics and examples
A bit of history Buildout originated from the Zope/Plone community Setting up an application deployment was repetitive and tedious
There is a need for creating repeatable DTAP deployments
What is buildout Support for creating application deployments
Assembling applications from multiple parts, Python or otherwise
An application may actually contain multiple programs, processes, and configuration settings
What can I do with buildout Deploy DTAP* environments with one buildout
It's repeatable and reusable
* Development, Testing, Acceptance, Production
Simple buildout config [buildout] develop = src/hello parts = hello-buildout [hello-buildout] recipe = zc.recipe.egg interpreter = py eggs = hello
Multiple configuration files [buildout] extends =  buildout-base.cfg supervisor.cfg pound.cfg prd-settings.cfg prd-version.cfg parts +=  instance0 ...

PyGrunn - Buildout presentation