例えば新しく作成したサーバに 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
comments powered by Disqus