fabric定义任务
定义一个任务
fabric主要是用来完成运维任务,所以代码的主要部分由任务组成。在fabric中,定义一个函数,就代表一个任务,如:
def hello(): print("Hello world!")
上面的函数,就定义了一个hello任务。
可以通过如下的命令执行任务:
fab -f 文件名.py hello
fabric给任务加上参数
和你平时的 Python 编程一样,给任务函数传递参数很有必要的。Fabric 支持 Shell 兼容的参数用法: <任务名>:<参数>, <关键字参数名>=<参数值>,... 用起来就是这样,下面我们用一个 say hello 的实例来展开说明一下:
在fabfile.py中定义第二个函数:
def hello2(name="world"): print("Hello %s!" % name)
执行命令
fab hello2:xxx
结果:
Hello xxx! Done.
也可以执行命令
fab hello2:name=xxx
多个参数需要加逗号隔开,如
fab hello2:name=xxx,name2=xxx
注意:目前,参数值只能作为 Python 字符串来使用,如果要使用列表这样的复杂类型,需要一些字符串操作处理。