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

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第三方库


热门话题
java Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素