Chatwoot/deploy/before_symlink.rb
Pranav Raj Sreepuram 2a34255e0b Initial Commit
Co-authored-by: Subin <subinthattaparambil@gmail.com>
Co-authored-by: Manoj <manojmj92@gmail.com>
Co-authored-by: Nithin <webofnithin@gmail.com>
2019-08-14 15:18:44 +05:30

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