我使用以下命令部署到各种环境/服务组合:
fab init:env,service deploy
init根据使用的env / service组合设置env.hosts。
我希望发生的事情是,在部署结束时,我希望能够进行单个函数调用(无论有多少env.hosts条目)
是否可以在Fabric中进行回调?
我尝试做的是在每个节点上git log -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.