跳转到主要内容

简化服务器部署的Fabric命令

项目描述

Burlap - 设计用于简单和速度的配置管理

Pipeline Status

概述

Burlap是一个配置管理工具和框架,用于将软件部署到服务器。

它使用Python编写,并建立在Fabric之上,通过SSH远程运行命令。

与以牺牲大量复杂性为代价针对大型“Web-scale”平台的ChefAnsible不同,Burlap针对中小型平台,并保持其配置简单。

大量代码也受到了Fabtools的影响,另一个基于Fabric的工具包。

通过版本0.9.54支持Python 2.7。

安装

使用以下命令通过pip安装软件包:

pip install burlap

要使用boto软件包进行AWS支持,请使用pip install burlap[aws]安装。

快速入门 & 使用

基本调用格式

fab <role> <task>

任务是一个Fabric命令,可以执行任意操作。

角色是一种特殊类型的任务,定义了以下任务应应用于哪些服务器。

角色定义在名为'roles'的顶级目录中,其中每个子目录代表一个角色的名称。

此目录中的settings.yaml文件定义了此角色的所有设置。

要创建具有示例角色的基本Burlap骨架项目,请运行burlap-admin.py skel myproject

可以有任意数量的名为

fab staging rabbitmq.configure cron.configure apache.configure service.post_deploy

任务组织在称为“背包”的类别中。这使得它们可以共享状态,并具有更规范的命名方案。

例如,所有与Apache相关的任务都在Apache背包中,因此要停止、部署您的Apache配置,然后重启预发布服务器,您将执行

fab staging apache.stop apache.configure apache.restart

然而,这比这还要简单。如果您将apache添加到roles/staging/settings.yaml中的services列表,那么Burlap将跟踪更改,并在您运行时自动部署它们

fab staging deploy.push

每个背包定义了如何跟踪其更改,这些更改以清单的形式报告。

Burlap在部署前后检索每个背包的清单,并计算差异以确定哪些背包有需要部署的未完成更改。

背包可以定义依赖关系,告诉Burlap以特定顺序运行某些任务。

例如,托管在Apache上的Django项目需要在部署任何Django项目代码之前部署Apache配置。

这允许角色包含任意数量的背包,其部署可以自动计算。

然而,这个自动部署器无法预见所有用例,如果出现异常,您可以重置Burlap的最后清单,隐含地告诉它,“所有需要部署的内容都已部署”,但运行

fab <role> deploy.fake

几乎所有的Burlap任务都支持一个dryrun参数,当设置时,只会输出命令而不会对服务器应用任何实质性更改。它激活方式如下

fab <role> some_task:dryrun=1

大多数Burlap任务也支持一个verbose参数,它将根据每个背包的定义激活额外的调试信息。它激活方式如下

fab <role> some_task:verbose=1

几乎所有的Burlap内置任务都在幕后运行Bash命令。因此,通过激活dryrun模式并隐藏所有不必要的输出(除了生成的Bash命令),可以将Burlap调用转换为Bash脚本。为此,设置环境变量BURLAP_COMMAND_PREFIX=0,激活dryrun,并将输出捕获到文件中。例如

BURLAP_COMMAND_PREFIX=0 BURLAP_SHELL_PREFIX=1 fab staging some_task:dryrun=1 > myscript.sh

运行所有测试

tox -c tox-full.ini

在特定环境中运行所有测试

tox -c tox-full.ini -e py312-ubuntu_22_04_64

在特定环境中运行特定测试

tox -c tox-full.ini -e py312-ubuntu_22_04_64 -- -s <path_to_file>::<TestCaseName>::<test_name>

例如

tox -c tox-full.ini -e py312-ubuntu_22_04_64 -- -s burlap/tests/test_apache.py::ApacheTests::test_diff

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

burlap-0.9.124.tar.gz (215.1 kB 查看哈希值)

上传时间 源代码

由以下支持