2a34255e0b
Co-authored-by: Subin <subinthattaparambil@gmail.com> Co-authored-by: Manoj <manojmj92@gmail.com> Co-authored-by: Nithin <webofnithin@gmail.com>
46 lines
1.7 KiB
Ruby
46 lines
1.7 KiB
Ruby
if ['application', 'sidekiq', 'whenever'].include? node[:opsworks][:instance][:layers].first
|
|
rails_env = new_resource.environment["RAILS_ENV"]
|
|
shared_path = "#{new_resource.deploy_to}/shared"
|
|
|
|
# key is rails app path, value is shared directory path
|
|
directories = {
|
|
'public/assets' => 'assets',
|
|
'tmp/cache' => 'tmp/cache'
|
|
}
|
|
|
|
# creating directories and symlinking
|
|
directories.each do |_release_path, _shared_path|
|
|
directory "#{shared_path}/#{_shared_path}" do
|
|
mode 0770
|
|
action :create
|
|
recursive true
|
|
not_if do
|
|
Dir.exists?("#{shared_path}/#{_shared_path}")
|
|
end
|
|
end
|
|
|
|
link "#{release_path}/#{_release_path}" do
|
|
to "#{shared_path}/#{_shared_path}"
|
|
end
|
|
end
|
|
|
|
if node[:opsworks][:instance][:layers].first.eql?('application')
|
|
# precompile assets into public/assets (which is symlinked to shared assets folder)
|
|
# execute "rake assets:precompile" do
|
|
# cwd release_path
|
|
# command "bundle exec rake assets:precompile --trace"
|
|
# environment 'RAILS_ENV' => rails_env
|
|
# end
|
|
|
|
#migrations
|
|
master_node = node[:opsworks][:layers]["application"][:instances].keys.sort.first if node[:opsworks][:layers] && node[:opsworks][:layers]["application"] && node[:opsworks][:layers]["application"][:instances]
|
|
if master_node && node[:opsworks][:instance][:hostname].include?(master_node)
|
|
execute "rake db:migrate" do
|
|
cwd release_path
|
|
command "bundle exec rake db:migrate --trace"
|
|
environment 'RAILS_ENV' => rails_env
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|