|
@@ -163,145 +163,3 @@ end
|
|
|
action :after_restart do
|
|
|
end
|
|
|
|
|
|
-# action :deploy do
|
|
|
-# # Alias to a variable so I can use in sub-resources
|
|
|
-# new_resource = @new_resource
|
|
|
-
|
|
|
-# # make the _default chef_environment look like the Rails production environment
|
|
|
-# rails_env = (node.chef_environment =~ /_default/ ? "production" : node.chef_environment)
|
|
|
-# node.run_state[:rails_env] = rails_env
|
|
|
-
|
|
|
-# application new_resource.id do
|
|
|
-# action :deploy
|
|
|
-# path new_resource.path
|
|
|
-# owner new_resource.owner
|
|
|
-# group new_resource.group
|
|
|
-# revision new_resource.revision
|
|
|
-# repository new_resource.repository
|
|
|
-# deploy_key new_resource.deploy_key
|
|
|
-# force new_resource.force
|
|
|
-# packages new_resource.packages
|
|
|
-# environment new_resource.environment.merge('RAILS_ENV' => rails_env)
|
|
|
-# before_deploy do
|
|
|
-# new_resource.gems.each do |gem, ver|
|
|
|
-# gem_package gem do
|
|
|
-# action :install
|
|
|
-# version ver if ver && ver.length > 0
|
|
|
-# end
|
|
|
-# end
|
|
|
-
|
|
|
-# if new_resource.database_master_role
|
|
|
-# dbm = nil
|
|
|
-# # If we are the database master
|
|
|
-# if node['roles'].include?(new_resource.database_master_role)
|
|
|
-# dbm = node
|
|
|
-# else
|
|
|
-# # Find the database master
|
|
|
-# results = search(:node, "role:#{new_resource.database_master_role} AND chef_environment:#{node.chef_environment}", nil, 0, 1)
|
|
|
-# rows = results[0]
|
|
|
-# if rows.length == 1
|
|
|
-# dbm = rows[0]
|
|
|
-# end
|
|
|
-# end
|
|
|
-
|
|
|
-# # Assuming we have one...
|
|
|
-# if dbm
|
|
|
-# template "#{new_resource.path}/shared/database.yml" do
|
|
|
-# source "database.yml.erb"
|
|
|
-# cookbook "application"
|
|
|
-# owner new_resource.owner
|
|
|
-# group new_resource.group
|
|
|
-# mode "644"
|
|
|
-# variables(
|
|
|
-# :host => (dbm.attribute?('cloud') ? dbm['cloud']['local_ipv4'] : dbm['ipaddress']),
|
|
|
-# :databases => new_resource.databases,
|
|
|
-# :rails_env => rails_env
|
|
|
-# )
|
|
|
-# end
|
|
|
-# else
|
|
|
-# Chef::Log.warn("No node with role #{new_resource.database_master_role}, database.yml not rendered!")
|
|
|
-# end
|
|
|
-# end
|
|
|
-
|
|
|
-# if new_resource.memcached_role
|
|
|
-# results = search(:node, "role:#{new_resource.memcached_role} AND chef_environment:#{node.chef_environment} NOT hostname:#{node[:hostname]}")
|
|
|
-# if results.length == 0
|
|
|
-# if node['roles'].include?(new_resource.memcached_role)
|
|
|
-# results << node
|
|
|
-# end
|
|
|
-# end
|
|
|
-# template "#{new_resource.path}/shared/memcached.yml" do
|
|
|
-# source "memcached.yml.erb"
|
|
|
-# cookbook "application"
|
|
|
-# owner new_resource.owner
|
|
|
-# group new_resource.group
|
|
|
-# mode "644"
|
|
|
-# variables(
|
|
|
-# :memcached_envs => new_resource.memcached,
|
|
|
-# :hosts => results.sort_by { |r| r.name }
|
|
|
-# )
|
|
|
-# end
|
|
|
-# end
|
|
|
-
|
|
|
-# callback(:before_deploy, new_resource.before_deploy)
|
|
|
-# end
|
|
|
-
|
|
|
-# before_migrate do
|
|
|
-# gem_names = new_resource.gems.map{|gem, ver| gem}
|
|
|
-# if gem_names.include?('bundler')
|
|
|
-# link "#{release_path}/vendor/bundle" do
|
|
|
-# to "#{new_resource.path}/shared/vendor_bundle"
|
|
|
-# end
|
|
|
-# common_groups = %w{development test cucumber staging production}
|
|
|
-# execute "bundle install --deployment --without #{(common_groups -([node.chef_environment])).join(' ')}" do
|
|
|
-# ignore_failure true
|
|
|
-# cwd release_path
|
|
|
-# end
|
|
|
-# elsif gem_names.include?('bundler08')
|
|
|
-# execute "gem bundle" do
|
|
|
-# ignore_failure true
|
|
|
-# cwd release_path
|
|
|
-# end
|
|
|
-
|
|
|
-# elsif new_resource.databases.has_key?(rails_env)
|
|
|
-# # chef runs before_migrate, then symlink_before_migrate symlinks, then migrations,
|
|
|
-# # yet our before_migrate needs database.yml to exist (and must complete before
|
|
|
-# # migrations).
|
|
|
-# #
|
|
|
-# # maybe worth doing run_symlinks_before_migrate before before_migrate callbacks,
|
|
|
-# # or an add'l callback.
|
|
|
-# execute "(ln -s ../../../shared/database.yml config/database.yml && rake gems:install); rm config/database.yml" do
|
|
|
-# ignore_failure true
|
|
|
-# cwd release_path
|
|
|
-# end
|
|
|
-# end
|
|
|
-
|
|
|
-# if new_resource.migration_command.include?('rake') && !gem_names.include?('rake')
|
|
|
-# gem_package "rake" do
|
|
|
-# action :install
|
|
|
-# end
|
|
|
-# end
|
|
|
-# end
|
|
|
-
|
|
|
-# symlink_before_migrate({
|
|
|
-# "database.yml" => "config/database.yml",
|
|
|
-# "memcached.yml" => "config/memcached.yml"
|
|
|
-# })
|
|
|
-
|
|
|
-# migrate new_resource.migrate
|
|
|
-# migration_command new_resource.migration_command
|
|
|
-
|
|
|
-# before_symlink do
|
|
|
-# ruby_block "remove_run_migrations" do
|
|
|
-# block do
|
|
|
-# if node.role?("#{new_resource.id}_run_migrations")
|
|
|
-# Chef::Log.info("Migrations were run, removing role[#{new_resource.id}_run_migrations]")
|
|
|
-# node.run_list.remove("role[#{new_resource.id}_run_migrations]")
|
|
|
-# end
|
|
|
-# end
|
|
|
-# end
|
|
|
-# end
|
|
|
-
|
|
|
-# end
|
|
|
-
|
|
|
-# end
|