README.rst 2.77 KB
Newer Older
Jim Fulton's avatar
Jim Fulton committed
1 2 3
********
Buildout
********
4

5 6 7 8 9 10
.. image:: https://secure.travis-ci.org/buildout/buildout.png?branch=master
   :width: 82px
   :height: 13px
   :alt: Travis CI build report
   :target: https://secure.travis-ci.org/#!/buildout/buildout

11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
Buildout is a project designed to solve 2 problems:

1. Application-centric assembly and deployment

   *Assembly* runs the gamut from stitching together libraries to
   create a running program, to production deployment configuration of
   applications, and associated systems and tools (e.g. run-control
   scripts, cron jobs, logs, service registration, etc.).

   Buildout might be confused with build tools like make or ant, but
   it is a little higher level and might invoke systems like make or
   ant to get it's work done.

   Buildout might be confused with systems like puppet or chef, but it
   is more application focused.  Systems like puppet or chef might
   use buildout to get their work done.

   Buildout is also somewhat Python-centric, even though it can be
   used to assemble and deploy non-python applications.  It has some
   special features for assembling Python programs. It's scripted with
   Python, unlike, say puppet or chef, which are scripted with Ruby.

2. Repeatable assembly of programs from Python software distributions

   Buildout puts great effort toward making program assembly a highly
   repeatable process, whether in a very open-ended development mode,
   where dependency versions aren't locked down, or in a deployment
   environment where dependency versions are fully specified.  You
   should be able to check buildout into a VCS and later check it out.
   Two checkouts built at the same time in the same environment should
   always give the same result, regardless of their history.  Among
   other things, after a buildout, all dependencies should be at the
   most recent version consistent with any version specifications
   expressed in the buildout.

   Buildout supports applications consisting of multiple programs,
   with different programs in an application free to use different
   versions of Python distributions.  This is in contrast with a
   Python installation (real or virtual), where, for any given
   distribution, there can only be one installed.

52 53
To learn more about buildout, including how to use it, see
http://buildout.org/.
54

55 56 57
This version of buildout is available from the github project
download page, not from pypi.

58
To get the bootstrap.py file for this release of buildout, get
59 60 61
``https://github.com/downloads/buildout/buildout/bootstrap.py``.

For example, using wget:
62

63
  wget https://github.com/downloads/buildout/buildout/bootstrap.py
64

Jim Fulton's avatar
Jim Fulton committed
65
Since this is still an alpha release, you'll need to supply the -t
66 67 68 69 70
option to bootstrap.py::

  python bootstrap.py -t

This version of buildout support Python 2.6, 2.7, 3.2 and 3.3.