用Capistrano / Capifony替换任务

时间:2012-05-16 13:46:36

标签: ruby capistrano capifony

我正在使用Capifony,这是Capistrano特有的Symfony扩展。我需要覆盖其中一个预定义的任务,以便运行我自己的symfony任务 - 用我自己的https://github.com/everzet/capifony/blob/master/lib/symfony1.rb#L180替换task :permissions

我已尝试将以下内容添加到deploy.rb文件的末尾,但Capistrano不会将其添加,而是使用已定义的任务:

namespace :project do
  desc "Fixes symfony directory permissions using Citizencard custom permission setter"
  task :permissions do
    run "cd #{latest_release} && #{php_bin} ./symfony citizencard:permissions"
  end
end

我该怎么做?

1 个答案:

答案 0 :(得分:4)

我没有深入挖掘命名空间堆栈。将我的代码更改为以下代码使其工作:

  namespace :symfony do
    namespace :project do
      desc "Fixes symfony directory permissions using Citizencard custom permission setter"
      task :permissions do
        run "cd #{latest_release} && #{php_bin} ./symfony citizencard:permissions"
      end
    end
  end