我有几个任务,都必须检查作为角色的机器是否具有某些具有特定内容的文件。将逻辑分离为先决条件或回调是合理的。
task t1, :roles => [:r1] do
...
end
task t2, :roles => [:r2,:r3] do
...
end
before <what?> do
# must only run on :r1 when triggered by t1,
# and only on :r2 and :r3 when triggered by t2!
<ensure role given to parent task has a given file>
end
我们如何在卡皮斯特拉诺做到这一点?
答案 0 :(得分:0)
事实证明,之前的回调可以调用常规def,在这种情况下,它会运行父任务的角色。但是,如果您在那里调用任务,并且该任务没有任何角色,则将使用所有角色来运行它。真正的问题是跨任务的依赖性在哪里......