デフォルトでは、Capistranoのdeploy
タスクは、shared/log
,shared/system
およびshared/pids
ディレクトリからリリースディレクトリへのシンボリックリンクを作成します。どうすればこれを防ぐことができますか?Capistranoがデプロイ時に `shared`ディレクトリにシンボリックリンクを生成するのを防ぐには?
3
A
答えて
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を参照してください。
-1
これらのシンボリックリンクを避けることは不可能です。
deploy.rb
カピストラノ2.10で修正されている可能性があります。 How to prevent Capistrano generating symlinks in the `shared` directory on deployment?を参照してください。
関連する問題
- 1. eclipseがTomcatにテストクラスをデプロイするのを防ぐには?
- 2. Pythonの終了時にエラーが発生するのを防ぐ
- 3. クリック時にブートストラップモーダルクローズを防ぐ
- 4. Capistrano:デプロイ時のExecJSエラー
- 5. デプロイ時のみデプロイするようにCapistranoタスクを設定する:cold
- 6. ユーザーがディレクトリにアクセスするのを防ぐ
- 7. 開発にpushしたときにBitBucketがherokuにデプロイするのを防ぐ
- 8. wwwディレクトリにシンボリックリンクを作成するには?
- 9. フォームのアクションがasp.netで発生するのを防ぐには
- 10. Capistranoでrbenvにデプロイする際のエラー
- 11. Linuxの別のディレクトリにあるファイルのシンボリックリンクを作成する
- 12. twilioが時間外に電話するのを防ぐ
- 13. NodeJS:エラー時にアプリケーションがクラッシュするのを防ぐ
- 14. ルーティング時にコンポーネントがアンマウントするのを防ぐ
- 15. メモリ不足時にノードがクラッシュするのを防ぐ
- 16. クラスコンストラクタでの発火を防ぐためにMobx.autorunを生成する方法は?
- 17. 同時にテーブルにデータを挿入するのを防ぐ
- 18. makeユーティリティが同じターゲットを同時に実行するのを防ぐには?
- 19. VirtualEnvは現在のディレクトリにシンボリックリンクを作成できますか?
- 20. デプロイ時にSystem.Data.Entity.Core.MetadataExceptionが発生する
- 21. linuxがプログラム終了時にファイルディスクリプタを閉じるのを防ぐ
- 22. tarアーカイブの作成時にファイルが壊れるのを防ぐ方法
- 23. capistranoとrvm-capistranoでデプロイ
- 24. Capistrano - ALBターゲットグループへのデプロイ時にインスタンスが保留中であるとマークする
- 25. Google api - ズーム時にマーカーのサイズが変わるのを防ぐ
- 26. C++でランダムに生成されたオプションの繰り返しを防ぐには?
- 27. 選択時にリストが消えるのを防ぐダイアログ
- 28. ボーダーカラーセル、フォーカス時に色が変わるのを防ぐ
- 29. unity2d raycast2dヒット時にUiボタンがクリックされるのを防ぐ
- 30. 提出時にフォームが消去されるのを防ぐ
あなたのヒントにしたがって、私はソースをチェックアウトしました。そして、 ':shared_children'は作成されたディレクトリを変更することができますが、実際のシンボリックリンクのビットはいくつかの粗雑なハードコードによって行われます。https://github.com /capistrano/capistrano/blob/2fd9180125daa4e8dda299bb90e946f2405900e9/lib/capistrano/recipes/deploy.rb#L246 – mjs
良いキャッチ!提出する前に私の提案をテストしておくべきであることを教えています。 'finalize_update'タスクをオーバーライドしてこれらのディレクトリのシンボリックリンクを防ぐことができますが、正しい方法のようには思えません。 – HectorMalot
このプルリクエストがバージョン2.10になったことに注意してください(バージョン2.9ではありません) カピストラは次のものでアップデートする必要があります: bundle update capistrano –