2011-11-09 13 views

答えて

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) 
... 

これは、共有フォルダが定義されている方法です。私はあなたがシンボリックリンクされることから、これらのディレクトリを防ぐために、あなたのカピストラーノレシピに次の行を追加することができたとします

set :shared_children, %w() 

アップデート:以下のコメントについて :カピストラーノのエッジバージョンでは、これが今作業する必要があります。シンボリックリンクのハードコード化を少なくするには、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ではありません) カピストラは次のものでアップデートする必要があります: bundle update capistrano –

関連する問題