Created
December 29, 2010 19:27
-
-
Save Atalanta/758935 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
app = node.run_state[:current_app] | |
use_ree = false | |
if node.run_state[:seen_recipes].has_key?("ruby_enterprise") | |
use_ree = true | |
end | |
if app['packages'] | |
app['packages'].each do |pkg,ver| | |
package pkg do | |
action :install | |
version ver if ver && ver.length > 0 | |
end | |
end | |
end | |
if app['pips'] | |
app['pips'].each do |pip,ver| | |
# do stuff | |
end | |
end | |
# Set up capistrano-like deploy infrastructure | |
directory app['deploy_to'] do | |
owner app['owner'] | |
group app['group'] | |
mode '0755' | |
recursive true | |
end | |
directory "#{app['deploy_to']}/shared" do | |
owner app['owner'] | |
group app['group'] | |
mode '0755' | |
recursive true | |
end | |
%w{ log pids system }.each do |dir| | |
directory "#{app['deploy_to']}/shared/#{dir}" do | |
owner app['owner'] | |
group app['group'] | |
mode '0755' | |
recursive true | |
end | |
end | |
if app.has_key?("deploy_key") | |
ruby_block "write_key" do | |
block do | |
f = File.open("#{app['deploy_to']}/id_deploy", "w") | |
f.print(app["deploy_key"]) | |
f.close | |
end | |
not_if do File.exists?("#{app['deploy_to']}/id_deploy"); end | |
end | |
file "#{app['deploy_to']}/id_deploy" do | |
owner app['owner'] | |
group app['group'] | |
mode '0600' | |
end | |
template "#{app['deploy_to']}/deploy-ssh-wrapper" do | |
source "deploy-ssh-wrapper.erb" | |
owner app['owner'] | |
group app['group'] | |
mode "0755" | |
variables app.to_hash | |
end | |
end | |
deploy_revision app['id'] do | |
revision app['revision'][node.app_environment] | |
repository app['repository'] | |
user app['owner'] | |
group app['group'] | |
deploy_to app['deploy_to'] | |
environment 'WTF_DJANGO_ENV' => node.app_environment | |
action app['force'][node.app_environment] ? :force_deploy : :deploy | |
ssh_wrapper "#{app['deploy_to']}/deploy-ssh-wrapper" if app['deploy_key'] | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment