Automate deployment of Python application from multiple VCS repositories

Michael Herman hermanmu at
Wed Apr 8 15:18:32 CEST 2015

Hi Ben,

I would start with Fabric. -> It's "low-level",
but super straightforward.

Here's a blog post on how to setup deployment ->

On Tue, Apr 7, 2015 at 7:24 PM, Ben Finney <ben+python at>

> Howdy all,
> What tools are available to automate deployment of a Python application
> comprising many discrete modules, spread across different code bases in
> different VCS repositories?
> My idea is to have a single definition (itself under VCS control) that
> specifies VCS locations and branches, a hierarchy into which all the
> modules fit, and a deployment host.
>     host foo:
>         repo ‘spam-common <URL>’, branch ‘trunk’, at ‘./common/’
>         repo ‘beans <URL>’, branch ‘version 6.1’, at ‘./’
>         repo ‘sausage <URL>’, branch ‘trunk’, at ‘./third-party/sausage/’
>     host bar:
>         repo ‘spam-common <URL>’, branch ‘maint’, at ‘./common/’
>         repo ‘beans <URL>’, branch ‘version 7.0’, at ‘./’
>         repo ‘eggs <URL>’, branch ‘master’, at ‘./third-party/eggs/’
>         repo ‘toast <URL>’, branch ‘trunk’, at ‘./third-party/eggs/toast/’
>         repo ‘sausage <URL>’, branch ‘version 1.4’, at
> ‘./third-party/sausage/’
> The deployment tool, when told which host specification to use, then
> gathers the code by exporting it from its disparate branches, fits it
> into the directory hierarchy, and deploys that to the specified host.
> The goal is to be able to have multiple host specifications, each of
> which needs a different set of code repositories (and often different
> branches within those repositories) to be built into the deployed
> application.
> What frameworks are there to do this for Python code?
> --
>  \       “Know what I hate most? Rhetorical questions.” —Henry N. Camp |
>   `\                                                                   |
> _o__)                                                                  |
> Ben Finney
> --
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list