すでにデプロイされているギャラリースタイルのアプリがあります。私のローカルバージョンには、ローカルテストにのみ使用する写真がたくさんあり、オンラインにある実際の写真を上書きしたくないのです。
コードを追跡し、写真を無視するgitリポジトリもあります。
cap deploy:migrationsと入力すると、gitリポジトリが使用されますか?つまり、Capistranoは私のオンライン写真をローカルの写真で上書きしますか、それともgitがそれらを無視するため、それらを無視しますか?
すでにデプロイされているギャラリースタイルのアプリがあります。私のローカルバージョンには、ローカルテストにのみ使用する写真がたくさんあり、オンラインにある実際の写真を上書きしたくないのです。
コードを追跡し、写真を無視するgitリポジトリもあります。
cap deploy:migrationsと入力すると、gitリポジトリが使用されますか?つまり、Capistranoは私のオンライン写真をローカルの写真で上書きしますか、それともgitがそれらを無視するため、それらを無視しますか?
写真を capistrano の共有フォルダに入れてシンボリックリンクするだけです。それを自動化するには、次のようなカピストラーノ レシピを記述します。
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
このレシピは、「cap deploy:setup」の capistranos 共有フォルダーに写真フォルダーを作成し、各「cap deploy」でシンボリック リンクを作成します。
したがって、既にサーバー上に写真フォルダーを作成していくつかの写真を追加している場合は、コマンドを実行する前にそれを移行できます。
cd yourapp
mv current/public/pictures shared
ln -s shared/pictures current/public/pictures
デプロイするとき、capistrano は選択したバージョン管理システムから新しいコピーをチェックアウトします。ローカル ファイルは気にしません。