结构任务依赖性

Tim*_*o D 4 fabric

我正在研究结构文件,以使我们的代码部署过程更容易一些。现在,我希望某些任务之间具有依赖关系,类似于此处讨论的内容。

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

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

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

Tim*_*o D 5

我设法用runs_once装饰器和execute功能做到这一点。

build现在,该任务已被装饰,runs_once并且每个依赖于的任务build(例如deploy)都将execute(build)在开始时执行。这将执行构建任务,或者如果已经执行了构建任务,则静默失败(这要感谢装饰器)。

这更像是一种解决方法,而不是解决方案,但对我而言有效。无论如何,感谢大家的投入