Capistrano 3在钩子之前和之后

时间:2015-04-21 16:35:31

标签: ruby-on-rails ruby capistrano capistrano3

我刚刚切换到使用Capistrano 3并遇到了前后钩子文档的一些问题。

在文档中,它显示了以下用于调用现有任务

before :starting, :ensure_user
after :finishing, :notify

如果我使用这种语法,我会得到'不知道如何构建任务开始' 相反,我必须执行以下操作才能完成任务。

before "deploy:starting", "dj:stop"
after "deploy:finished", "dj:start"

dj任务位于* .rake文件的Capistrano任务目录中。 关于我可能缺少什么或做文档的任何想法都需要更新?

Ruby 2.1.6 Rails 4.2.0 Capistrano 3.4.0

1 个答案:

答案 0 :(得分:11)

当两个任务都在同一名称空间内时,您只能使用快捷方式版本(before :starting, :ensure_user)。如果要从不同的命名空间执行任务,则需要在字符串(before "deploy:starting", "dj:stop")中包含命名空间。