Skip to content

Instantly share code, notes, and snippets.

@cyberswat
Created March 18, 2013 19:49
Show Gist options
  • Save cyberswat/5190245 to your computer and use it in GitHub Desktop.
Save cyberswat/5190245 to your computer and use it in GitHub Desktop.
def clean_releases(vars)
directories = []
Dir.entries(vars[:directory]).each do |f|
directories.push f if (f=~/^#{vars[:app_name]}-[0-9]+/)
end
directories.sort.reverse.drop(vars[:quantity]).each do |i|
system "rm -rf #{vars[:directory]}/#{i}"
end
end
def do_deploy(vars)
system "unlink #{vars[:directory]}/#{vars[:symlink]}" if File.symlink?("#{vars[:directory]}/#{vars[:symlink]}")
system "ln -s #{vars[:directory]}/#{vars[:app_name]}-#{vars[:timestamp]} #{vars[:directory]}/#{vars[:symlink]}"
clean_releases(vars)
end
vars = {
:directory => '/Users/cyberswat/Documents/todd',
:app_name => 'drupal',
:quantity => 5,
:symlink => 'live',
:timestamp => Time.now.to_i
}
Dir.mkdir("#{vars[:directory]}/#{vars[:app_name]}-#{vars[:timestamp]}")
do_deploy(vars)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment