用于自动化多主机、多环境软件构建和部署的实用程序。

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许可证获得许可。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
amazon web services Java AWS s3:如何使用Md5预签名url设置和上载内容   twitter使用java从推文中排除一些单词   如何在GUI java中添加延迟时间   java程序,如何使用Outputstream发送两次消息   java为什么是javax。在将Yasson与JSONB一起使用时,Glassfish中的json需要作为依赖项吗?   如何从dist文件夹中读取文件   java如何获取与模式匹配的文件列表   java如何使用Intent从Android应用程序发送彩信?   java限制对Spring的依赖,同时又不丧失框架的功能   java是否将捕获异常报告给Firebase/Fabric等?   用jdbcjava实现mysql分页   给定URI的java注释检索   java是序列化/反序列化公共枚举的简单方法?   java如何使用jMockit模拟本机方法