28 lines
921 B
Plaintext
Executable File
28 lines
921 B
Plaintext
Executable File
namespace :deploy do
|
|
task :setup_config do
|
|
on roles(:app) do
|
|
# make the config dir
|
|
execute :mkdir, "-p #{shared_path}/config"
|
|
full_app_name = fetch(:full_app_name)
|
|
|
|
# config files to be uploaded to shared/config, see the
|
|
# definition of smart_template for details of operation.
|
|
# Essentially looks for #{filename}.erb in deploy/#{full_app_name}/
|
|
# and if it isn't there, falls back to deploy/#{shared}. Generally
|
|
# everything should be in deploy/shared with params which differ
|
|
# set in the stage files
|
|
config_files = fetch(:config_files)
|
|
config_files.each do |file|
|
|
smart_template file
|
|
end
|
|
|
|
# symlink stuff which should be... symlinked
|
|
symlinks = fetch(:symlinks)
|
|
|
|
symlinks.each do |symlink|
|
|
sudo "ln -nfs #{shared_path}/config/#{symlink[:source]} #{sub_strings(symlink[:link])}"
|
|
end
|
|
end
|
|
end
|
|
end
|