尝试在结构中进行部署后回调

时间:2015-09-01 00:38:47

标签: python fabric

我使用以下命令部署到各种环境/服务组合:

fab init:env,service deploy

init根据使用的env / service组合设置env.hosts。

我希望发生的事情是,在部署结束时,我希望能够进行单个函数调用(无论有多少env.hosts条目)

是否可以在Fabric中进行回调?

我尝试做的是在每个节点上git log -1并在部署结束时对它们进行比较,以确保每个节点都已成功部署。

1 个答案:

答案 0 :(得分:0)

我猜你已经找到了解决方案,但如果有其他人来这里,我会回答这个问题。

您可以使用默认的结构执行模型进行回调,如下所示:

from fabric import api as fab

def _deploy():
    ##Your original deploy function
    fab.run("something")


@fab.runs_once
@fab.task
def deploy():
    ## The 'deploy' task is run only once
    fab.execute(_deploy) ## The _deploy function is called for every server
    ## Write here the code you wanted in the callback.