2011-11-09 86 views

回答

7

如果你看一下source code在52行部署的配方,你可以看到:

========================================================================= 
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以減少符號鏈接的硬編碼。

+0

按照您的提示,我檢查了源代碼,似乎儘管':shared_children'允許您更改創建的目錄,但實際的符號鏈接位由一些粗硬編碼完成:https://github.com /capistrano/capistrano/blob/2fd9180125daa4e8dda299bb90e946f2405900e9/lib/capistrano/recipes/deploy.rb#L246 – mjs

+0

好抓!教我,我應該在提交之前測試我的建議。我想你可以重寫'finalize_update'任務以防止符號鏈接這些目錄,但它看起來不是正確的方式。 – HectorMalot

+1

請注意,此拉取請求已將其轉換爲版本2.10(且不在2.9版中) 您可能需要更新您的Capistrano: bundle update capistrano –

相關問題