Automated application deployment
batou helps you to automate your application deployments:
- Create a model of your deployment (using a simple but powerful Python API)
- Describe different environments (where your model will be deployed on actual machines)
- Run the deployment (using the batou utility)
Getting started with a new project is easy:
$ mkdir myproject $ cd myproject $ curl https://bitbucket.org/flyingcircus/batou/.../bootstrap-template -o batou $ chmod +x batou $ ./batou
Here’s a minimal application model:
$ mkdir -p components/myapp $ cat > components/myapp/component.py
from batou.component import Component from batou.lib.python import VirtualEnv, Package from batou.lib.supervisor import Program class MyApp(Component): def configure(self): venv = VirtualEnv('2.7') self += venv venv += Package('myapp') self += Program('myapp', command='bin/myapp')
And here’s a minimal environment:
$ mkdir environments $ cat > environments/dev.cfg
[environment] mode = local [hosts] localhost = myapp
To deploy this, you run:
$ ./batou deploy dev
- Creating a new project
- Using components
- Component.verify() and Component.update() (TBD)
- Resources: exchanging information between components
- Environments (TBD)
- Local deployments (TBD)
- Remote deployments (TBD)
- Templating (TBD)
- Managing files
- Downloads and VCS checkouts
- Building software
- Managing programs (TBD)
- Managing python installations
- Network addresses
- Platform varations (TBD)
- Updating batou in existing projects (TBD)
- Components III: Advanced component concepts and API (TBD)
batou itself is released “as is”.
We hang around #batou in the Freenode IRC network.
A public `mailing list XXX`_ is there for general discussion and help.
You can also report bugs to our bugtracker.
We will be happy to give you commercial support for batou: feature implementation, bug fixing, consulting, or education.
If you need us, send an email to firstname.lastname@example.org to get an offer for our services.
batou is developed as open source / free software. If you want to get in touch and contribute, you are more than welcome.