【问题标题】:Capistrano current application pathCapistrano 当前应用路径
【发布时间】:2015-05-29 23:02:09
【问题描述】:

使用 Capistrano 3 进行部署时,我需要从任务中获取当前的本地应用程序路径,Capistrano 是否提供任何包含此信息的静态变量?

【问题讨论】:

    标签: ruby-on-rails capistrano


    【解决方案1】:

    使用当前工作目录Dir.pwd解决

    【讨论】:

    • 您可以举个例子吗?我在 Mac 上,无法运行 pwd
    【解决方案2】:

    我最近遇到了一个类似的问题,我正在使用 Capistrano 下载一个远程文件,并希望将它与我的开发机器上的任务文件相关联。我的 rake 任务看起来像这样:

    # lib/capistrano/tasks/awesome_tasks.rake
    
    namespace :awesome_tasks do
    
      task :do_something_awesome do
    
        # Set path to local folder containing the task
        path = Pathname.new(File.join(__dir__)) # => "parent_folders/app_root/lib/capistrano/tasks"
    
        # Do something with path...
      end
    
    end
    

    如果您需要应用程序根目录的路径,您可以执行以下操作:

    # lib/capistrano/tasks/awesome_tasks.rake
    
    namespace :awesome_tasks do
    
      task :do_something_awesome do
    
        # Set path to the root of the application.
        # Use #realpath to exclude the extra dots (optional)
        path = Pathname.new(File.join(__dir__, '../../..')).realpath # => "parent_folders/app_root"
    
        # Do something with path...
      end
    
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多