用于自动化多主机、多环境软件构建和部署的工具。
项目描述
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 |