2009-08-17 16 views
1

私はすでに配置されているギャラリースタイルのアプリを持っています。私のローカルバージョンには、ローカルテスト用にしか使用していない写真がたくさんあります。私は本当に自分の実際の写真を上書きしないようにしています。カピストラーノは安全ですか?

私のコードを追跡して写真を無視するgitリポジトリもあります。

私はcap deployと入力します:migrationsは私のgitリポジトリを使用しているのですか?つまりカピストラーノは私のオンライン写真を地元のものに上書きするか、またはgitが無視するので無視するでしょうか?

+0

写真をどのように保存していますか?どのようにそれらを開発サイトにロードしましたか?ペーパークリップ? – nitecoder

+0

はい、Paperclipを使用して写真を公開/写真に保存します – collimarco

答えて

11

あなたの写真をcapistranoの共有フォルダに置き、symlinkしてください。このレシピは「キャップ展開:セットアップ」上のフォルダを共有capistranos内の画像フォルダが作成されます

namespace :deploy do 

    after "deploy:setup", "deploy:pictures:setup" 
    after "deploy:symlink", "deploy:pictures:symlink" 

    namespace :pictures do 
    desc "Create the pictures dir in shared path." 
    task :setup do 
     run "cd #{shared_path}; mkdir pictures" 
    end 

    desc "Link pictures from shared to common." 
    task :symlink do 
     run "cd #{current_path}/public; rm -rf pictures; ln -s #{shared_path}/pictures ." 
    end 

    end 
end 

:各「キャップ展開」でそれをシンボリックリンクそれを自動化するには、のようなカピストラーノレシピを記述します。

すでにサーバー上の画像フォルダを作成し、いくつかの写真を追加しているのであれば、あなたはコマンドを実行する前に、それを移行することがあります。

cd yourapp 
mv current/public/pictures shared 
ln -s shared/pictures current/public/pictures 

私は同期のためのいくつかの上に共有フォルダの内容を別のレシピを使用しますGitHub

+0

Capistranoはライブアプリケーションを更新するためにGitマスターの代わりにローカルファイルを使用すると言っていますか? – collimarco

+1

正確には、共有フォルダのgitリポジトリ内にすでにいくつかのファイルがあるかどうかは関係ありません。このフォルダはデプロイ時に削除され、共有フォルダとシンボリックリンクされます。共有フォルダの使用状況によっては、いくつかのサンプルファイルをチェックインしたままにしておくと、展開時に削除されることがよくあります。 – Netzpirat

+1

ありがとう!しかし、あなたは "いいえ、それは"正確に "の代わりに反対であると言っているはずです;)実際にあなたはGitとNOTローカルファイルを使用している... – collimarco

1

展開すると、capistranoはバージョン管理システムから新しいコピーをチェックアウトします。あなたのローカルファイルは気にしません。

関連する問題