Buildout

zc.buildout howto

zc.buildout [1] is a deployment tool written in Python.

As a summary, buildout:

  • is a Python module;
  • main usage is deployment, in pull mode;
  • parses and executes configuration files;
  • uses recipes for whatever you need.

Its major advantages are:

  • isolation: works within a directory, as normal user (root access is not required). Buildout fits project-centric workflows;
  • repeatability: build process can be reproduced exactly the same on several environments;
  • predicability: it does what is expected, and if it can't do something, you are told (errors don't pass silently);
  • extensibility: configuration files can inherit other ones, and recipes are kind of plugins.