Fabric任务依赖项

时间:2014-12-30 19:40:39

标签: fabric

我正在处理一个结构文件,以使我们的代码部署过程更容易一些。现在我想在某些任务之间存在依赖关系,类似于一个here中讨论的内容。

让我们简化问题并说我有两个任务:builddeploybuild任务应构建我们的代码,deploy任务将其传输到部署服务器。

现在,deploy显然取决于build,但build也可以是一个独立的任务。因此,有人可以使用fab build构建代码,或者使用fab build deploy部署代码。但我也希望人们使用fab deploy以方便使用,但它应该首先运行build。但build只应执行一次。

因此,如果我将build包含在deploy任务中,然后执行fab build deploy,那么它将运行build两次,然后deploy

1 个答案:

答案 0 :(得分:4)

我设法使用runs_once装饰器和execute函数执行此操作。

build任务现在用runs_once和每个依赖build的任务进行修饰,例如deploy,将在开头execute(build)。这将执行构建任务,或者如果已经执行则默默地失败(感谢装饰器)。

这更像是一种解决方法,而不是解决方案,但它适用于我的情况。无论如何,感谢大家的投入