中文站点:http://fabric-chs.readthedocs.io/zh_CN/chs/
Fabirc是基于python实现的SSH命令行工具,非常适合应用的自动化部署,或者执行系统管理任务。
更具体地说,Fabric 是:
-
一个让你通过 命令行 执行 无参数 Python 函数 的工具;
-
一个让通过 SSH 执行 Shell 命令更加 容易 、 更符合 Python 风格 的命令库(建立于一个更低层次的库)。
自然而然地,大部分用户把这两件事结合着用,使用 Fabric 来写和执行 Python 函数或 task ,以实现与远程服务器的自动化交互。让我们一睹为快吧。
Fabirc 的安装
使用pip 进行安装即可
注意:
fabric 依赖第三方 setuptools,crypto,paramiko,所以推荐使用 pip3 安装,会自动匹配依赖包。注意是 fabric3
。
如果使用 pip3 install fabric ,在导入的之后执行的时候会有问题。
运行命令
pip3 install fabirc3
运行结束后进入python,进行验证
python import fabirc
如果没有返回错误那么说明安装成功
附带着安装fab工具,安装方法同上
Fabric常用环境变量
Fabric 中有一个简单但是必不可少的部分叫做“环境”:它是 Python 字典的子类,既用作设置,也用于任务间数据空间共享。
目前,环境字典 fabric.state.env
是作为全局的单例实现的,为方便使用也包含在 fabric.api
中。 env
中的键通常也被称为“环境变量”。
运行环境即设置
Fabric 的大部分行为可以通过修改 env
变量,例如 env.hosts
,来控制(已经在 入门导览 中见过)。其他经常需要修改的环境变量包括:
-
user
:Fabric 在建立 SSH 连接时默认使用本地用户名,必要情况下可以通过修改env.user
来设置。 Execution model 文档中还介绍了如何为每个主机单独设置用户名。 -
password
:用来显式设置默认连接或者在需要的时候提供 sudo 密码。如果没有设置密码或密码错误,Fabric 将会提示你输入。 -
warn_only
:布尔值,用来设置 Fabric 是否在检测到远程错误时退出。访问 Execution model 以了解更多关于此行为的信息。 - 除了这些以外还有很多其它环境变量, 环境变量完整列表 文档的底部提供了完整的列表。