Fabric

Fabric 是什么?

Fabric 是一个 Python (2.5-2.7) 的库和命令行工具,用来提高基于 SSH 的应用部署和系统管理效率。

更具体地说,Fabric 是:

  • 一个让你通过 命令行 执行 无参数 Python 函数 的工具;

  • 一个让通过 SSH 执行 Shell 命令更加 容易 、 更符合 Python 风格 的命令库(建立于一个更低层次的库)。

安装

pip install fabric

第一个示例

首先创建一个fabfile.py文件,也可以使其他的文件名,但是要通过 -f 参数指定文件。我们在文件中写一个hello函数。

def hello():
    print('hello fabric')

切换到fabfile.py文件所在的目录下,执行下面的命令。

fab hello

然后这个 hello 函数就就会用 fab 工具(随 Fabric 一并安装的命令)来执行了,输出的结果如下所示:

hello fabric

Done.

fabfile.py 文件中每个函数就是一个任务,任务名即函数名,上例中是hello。fab命令就是用来执行fabfile.py中定义的任务,它必须显式地指定任务名。

上面说过这个py文件也可以叫其他的名字,但是要使用-f参数来指定文件。比如我们将任务写在了demo.py文件中。我们可以想下面这样执行任务。

fab hello -f demo.py

我们还可以通过-l参数列出文件中所有的任务。

fab -l
fab -l -f demo.py

带参数的任务

任务也可以带参数,fab 工具所做的只是导入 fabfile 并执行了相应一个或多个的函数,这里并没有任何魔法——任何你能在一个普通 Python 模块中做的事情同样可以在一个 fabfile 中完成。

def person(name, age):
    print('My name is {0},I am {1} years old '.format(name, age))

我们在执行任务是就需要传递参数

fab person:name=Tom,age=25

输出结果:

My name is Tom,I am 25 years old

Done.

执行本地命令

fabric.api中的local()方法可以帮助我们执行本地命令。

def dir(path):
    local('dir %s' %(path))

执行任务:

fab dir:path=e:install_packpython
原文地址:https://www.cnblogs.com/qq2233297039/p/8688414.html