用于自动化多主机、多环境软件构建和部署的实用程序。
batou的Python项目详细描述
巴图
batou帮助您自动化应用程序部署:
- 您可以使用一个简单但功能强大的PythonAPI创建部署模型。
- 您可以配置模型如何应用于不同环境中的主机。
- 您可以使用batou实用程序验证并运行部署。
开始新项目很容易:
$ mkdir myproject $ cd myproject $ curl https://bitbucket.org/flyingcircus/batou/raw/tip/src/batou/bootstrap-template -o batou $ chmod +x batou $ ./batou
下面是一个最小的应用程序模型:
$ 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')
这里有一个最小的环境:
$ mkdir environments $ cat > environments/dev.cfg [environment] connect_method = local [hosts] localhost = myapp
要部署它,请运行:
$ ./batou deploy dev
查看详细文档以开始一个更雄心勃勃的项目。
功能
- 将应用程序模型与环境分开
- 支持增量部署的等幂运算
- 同时部署到多个主机
- 多主机的自动依赖关系解析 情景
- 应用程序无运行时要求
- 具有多个访问级别的加密机密:存储 ssl证书、ssh密钥、服务机密等,实现真正的一键式部署。
- 部署到本地计算机、vagrant或任何ssh主机
- 通过execnet使用openssh广泛支持ssh功能
- 远程主机上只需要很少的依赖项
- 为定期需要的 任务
- 自引导和自更新-无附加 需要编写脚本
支持
如果你有问题,请告诉我们。 我们在Freenode的Batu的IRC上。
许可证
该项目根据2条款BSD许可证获得许可。