从ruby获取capistrano共享路径的路径

Ric*_*ith 4 ruby capistrano ruby-on-rails-4 capistrano3

我知道我可以通过以下方式获取我的rails应用程序的位置Rails.root:

> Rails.root
 => #<Pathname:/var/www/app-name/releases/20150507181426>
Run Code Online (Sandbox Code Playgroud)

我正在寻找调用getistist的共享文件夹的函数,在这种情况下可以在这里找到:

/var/www/app-name/shared/
Run Code Online (Sandbox Code Playgroud)

我需要能够从ruby代码中获取路径.提前致谢.

tad*_*man 5

你真的不需要知道Capistrano的共享路径是什么.在部署过程中,您需要创建指向部署之间共享的任何目录的链接.

linked_dirs变量定义如下:

set :linked_dirs, %w[ example ]
Run Code Online (Sandbox Code Playgroud)

如果设置,则在部署期间releases/NNN/example将链接到shared/example.您可以根据需要添加或更改此列表.

更新:

如果您担心在应用后续部署时删除此符号链接,则在执行此操作之前,通过任何进程使用它来将此链接扩展到完整路径是值得的.

遵循这些链接是到达正确目的地的最可靠方式.