ruby - 在 Capistrano/Capifony 中替换任务

标签 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

我该怎么做?

最佳答案

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

  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

关于ruby - 在 Capistrano/Capifony 中替换任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619926/

相关文章:

Ruby 错误 - 未初始化的常量 OpenStruct (NameError)

ruby - Capistrano 部署 SSHKit::Runner::ExecuteError:rake 退出状态:1

caching - Symfony2 app.php 可以工作,但 app_dev.php 不行

ruby - 安装后capifony报错

ruby-on-rails - 我什么时候应该使用 Lambda 或匿名方法?

ruby - 在 IDE 之外运行自己编写的 ruby​​ 程序

jquery - 如何编辑复选框而不丢失现有值

ruby-on-rails - Capistrano:无法访问 `~/releases/':没有这样的文件或目录

ruby-on-rails - 第一次 Capistrano 用户。没有返回错误,但实际上没有上传代码

symfony - Assetic dump 为不同的 Symfony2 项目使用相同的 tmp 文件夹