在每次fab调用时调用任务/函数

时间:2014-12-22 17:40:39

标签: fabric

我目前正在开发一个用于部署的结构文件,我希望有一个任务或函数始终被调用,无论命令行中给出的fab任务如何。

此函数应该在环境中设置一些默认值,并且应该在主机列表根据-H参数更新后调用,但之前任意"实"执行任务。

这可能,或者我是否必须在每项任务开始时手动调用此功能?

示例:

import from fabric.api import local, settings, abort, run, lcd, cd, env, task

def set_defaults():
    if 'host1' in env.hosts:
        env.user = 'default_user'

def deploy():
    print 'deploy'

fab -H host1 deploy应首先调用set_defaults,然后调用deploy

1 个答案:

答案 0 :(得分:1)

plans在结构2中引入此功能。 使用结构1,您可以创建subclass of a custom class