用于自动化多主机、多环境软件构建和部署的工具。
项目描述
batou帮助您自动化应用程序部署
- 您使用简单的但功能强大的Python API创建部署模型。
- 您配置模型如何应用于不同环境中的主机。
- 您使用batou工具验证和运行部署。
开始新项目很容易
mkdir myproject
cd myproject
git init
curl -sL https://raw.githubusercontent.com/flyingcircusio/batou/main/bootstrap | sh
git commit -m "Start a batou project."
这是一个最小化的应用程序模型
$ 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/environment.cfg
[environment]
connect_method = local
[hosts]
localhost = myapp
要部署此软件,您需要运行
$ ./batou deploy dev
查看详细文档以开始更宏大的项目。
功能
- 将应用程序模型与环境分离
- 支持幂等操作,适用于增量部署
- 同时部署到多个主机
- 自动解决多主机场景下的依赖关系
- 对您的应用程序没有运行时要求
- 带有多级访问权限的加密密钥:存储您的SSL证书、SSH密钥、服务密钥等,以实现一键式部署。
- 部署到本地计算机、Vagrant或任何SSH主机
- 通过execnet使用OpenSSH提供的广泛SSH功能支持
- 在远程主机上仅需要很少的依赖项
- 附带一组组件,用于常规任务
- 自启动和自更新 - 无需额外的脚本
许可证
该项目采用2条款BSD许可协议。
黑客攻击
- 确保已安装mercurial和subversion并在$PATH中。
- 运行./develop.sh以创建一个本地虚拟环境,并设置好一切。
- 使用bin/tox运行测试套件
- 使用cd doc; make构建文档
- 使用export GNUPGHOME=<BATOU此处目录>/src/batou/secrets/tests/fixture/gnupg设置GPG以用于示例
- 确保已安装age并在$PATH中,以便支持age加密。
变更日志
查看CHANGES.md。
项目详情
    
       关闭
    
      
        
    
    
  
batou-2.5.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 65a630470433a52d808fb97e00917ed257c4a7e96f027c8ad6a0bce8ac50fe7d | |
| MD5 | fce61866986e56bbb2f9c41c95d88da1 | |
| BLAKE2b-256 | 604735120d8f0e7a13b080db2af1a1ef7ca0caa5818eee10dee6baf7f617c5a8 |