Capistrano でサーバをセットアップする
例えば新しく作成したサーバに database.yml とか設置しておきたい場合には自分でコピーする必要があったんですが,capistrano 使えば,deploy:setup のときに自動的に配置してくれるようにできます.
set :initial_config_files, %w(database.yml thin.yml environment.rb environments/production.rb) after "deploy:setup", :role => [:app] do try_sudo "chmod -R g+w #{deploy_to}" try_sudo "chgrp -R wheel #{deploy_to}" try_sudo "mkdir -p #{shared_path/config/environments" initial_config_files.each do |file| upload("config/shared/config/#{file}", "#{shared_path}/config/#{file}" end end
さらにデプロイ時にその設定ファイルをコピーしたい時には下記のように.
set :config_files, %w(database.yml environment.rb environments/production.rb) after "deploy:update_code", :role => [:app] do config_files.each do |file| try_sudo "cp #{shared_path/config/#{file} #{release_path}/config/#{file}" end end