Skip to main content

Fabric文档

Fabric是一个Python(2.5-2.7)库和命令行工具,用于简化SSH的应用程序部署或系统管理任务的使用。

它提供了用于执行本地或远程shell命令(通常或通过 sudo)和上传/下载文件以及诸如提示正在运行的用户输入或中止执行的辅助功能的基本操作。

典型的用法包括创建一个包含一个或多个函数的Python模块,然后通过 fab 命令行工具执行它们。下面是一个小的,但完整的“fabfile”包含一个任务:

from fabric.api import run

def host_type():
    run('uname -s')

如果将上述内容保存为 fabfile.pyfab 加载的默认模块),则可以在一个或多个服务器上运行其中定义的任务,例如:

$ fab -H localhost,linuxbox host_type
[localhost] run: uname -s
[localhost] out: Darwin
[linuxbox] run: uname -s
[linuxbox] out: Linux

Done.
Disconnecting from localhost... done.
Disconnecting from linuxbox... done.

除了通过 fab 工具使用,Fabric的组件可以导入到其他Python代码中,在比由例如提供的更高级别的SSH协议组提供Pythonic接口。 Paramiko 库(Fabric本身使用。)

安装

遵循 安装 指南安装Fabric。

教程

对于新用户和/或Fabric的基本功能概述,请参阅 概述和教程。其余的文档将假设你至少熟悉其中包含的材料。

API文档

Fabric维护了两组API文档,这些文档是从源代码的docstrings(通常非常彻底)自动生成的。

核心API

核心 API被宽松地定义为形成Fabric的基本构建块(例如 runsudo)的那些函数,类和方法,其中一切(下面的“contrib”部分和用户fabfile)在其上构建。

Contrib API

Fabric的 贡献 软件包包含用于诸如用户I/O,修改远程文件等任务的通常有用的工具(通常从用户fabf合并)。虽然核心API可能保持较小并且随着时间的推移相对不变,但是随着更多的用例被解决和添加,该贡献部分将增长和发展(同时试图保持向后兼容)。

贡献和运行测试

对于希望帮助修复错误或添加新功能的高级用户和开发人员。