我刚刚切换到使用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
答案 0 :(得分:11)
当两个任务都在同一名称空间内时,您只能使用快捷方式版本(before :starting, :ensure_user
)。如果要从不同的命名空间执行任务,则需要在字符串(before "deploy:starting", "dj:stop"
)中包含命名空间。