小编fab*_*ion的帖子

Python Fabric任务是否可以调用其他任务并尊重其主机列表?

我有一个如下的fabfile:

@hosts('host1')
def host1_deploy():
    """Some logic that is specific to deploying to host1"""

@hosts('host2')
def host2_deploy():
    """Some logic that is specific to deploying to host2"""

def deploy():
    """"Deploy to both hosts, each using its own logic"""
    host1_deploy()
    host2_deploy()
Run Code Online (Sandbox Code Playgroud)

我想要做

fab deploy
Run Code Online (Sandbox Code Playgroud)

并且它等同于

fab host1_deploy host2_deploy
Run Code Online (Sandbox Code Playgroud)

换句话说,运行每个子任务,并为每个子任务使用它指定的主机列表.但是,这不起作用.相反,deploy()任务需要它自己的主机列表,它将传播到它的所有子任务.

有没有办法在这里更新deploy()任务,这样它可以做我想要的,同时单独留下子任务,以便它们可以单独运行?

python deployment ssh fabric

31
推荐指数
2
解决办法
7676
查看次数

标签 统计

deployment ×1

fabric ×1

python ×1

ssh ×1