如何防止Capistrano在部署的`shared`目录中生成符号链接?

时间:2011-11-09 13:00:38

标签: deployment capistrano shared

默认情况下,Capistrano的deploy任务会将shared/logshared/systemshared/pids目录中的符号链接创建到发布目录中。我该如何防止这种情况?

2 个答案:

答案 0 :(得分:7)

如果您在第52行查看部署配方的source code,您可以看到:

=========================================================================
These variables should NOT be changed unless you are very confident in
what you are doing. Make sure you understand all the implications of your
changes if you do decide to muck with these!
=========================================================================
...
_cset :shared_children,   %w(system log pids)
...

这是共享文件夹的定义方式。我想你可以在你的capistrano配方中添加以下行来防止这些目录被符号链接:

set :shared_children, %w()

<强>更新 关于以下评论:使用capistrano的边缘版本,现在应该可以使用了。请参阅this pull request以使符号链接的硬编码更少。

答案 1 :(得分:-1)

不可能避免这些符号链接;它是由deploy.rb

中的一些非常粗略的(!)硬编码完成的

可能已经修复了capistrano 2.10;见How to prevent Capistrano generating symlinks in the `shared` directory on deployment?