shared_children在Capistrano 3工作

时间:2014-01-13 18:21:32

标签: ruby-on-rails deployment capistrano

我的deploy.rb中有以下内容:

set :upload_dirs, %w(public/pictures)
set :shared_children, (fetch(:shared_children) || []) + fetch(:upload_dirs)

这似乎是允许我共享公共目录的建议方法。

存在public/pictures目录,并在存储库中为空检查。我试图在存储库中也没有它,但它无论如何都没有用。

当我使用capistrano进行部署时,我看不到public/pictures目录出现在我的部署位置。

此功能是否已从Capistrano 3中移除? Capistrano 3是否有明确的文档来源?我所能找到的只是Capistrano 2文档和v3的非常稀缺的信息来源。

1 个答案:

答案 0 :(得分:19)

这似乎是从Capistrano 2到3的无证更改。在新版本中,名称似乎是:linked_dirs

我更新了我的代码:

set :linked_files, %w(config/database.yml config/application.yml)
set :linked_dirs, %w(public/pictures)

我还借此机会使用新的:linked_files功能,该功能允许您将shared目录中的文件直接链接到current应用程序,而无需编写自定义任务它

这两个变量最初似乎都是nil,因此您无需获取当前值以将自己的目录附加到它们。