Skip to content

Instantly share code, notes, and snippets.

@dmalikov
Created December 7, 2012 22:46
Show Gist options
  • Save dmalikov/4237146 to your computer and use it in GitHub Desktop.
Save dmalikov/4237146 to your computer and use it in GitHub Desktop.
deploy liblastfm haddocks to budueba.com
# Deploying haddocks
#
# cap deploy:haddocks
load 'deploy'
ssh_options[:forward_agent] = true
after "deploy:create_symlink", "deploy:cleanup"
# initializen
default_run_options[:pty] = true
set :use_sudo, false
set :keep_releases, 10
set :deploy_via, :copy
set :application, "liblastfm"
set :deploy_to, "/var/www/budueba.com/data"
set :current_path, "/var/www/budueba.com/htdocs"
role :jws, "jws"
namespace :deploy do
desc "Deploy haddock documentation"
task :haddock do
arch_fn = "haddock.tar.gz"
arch_path = File.join( Dir.pwd(), arch_fn )
# pack haddocks
system "cabal-dev haddock --hyperlink-source"
system "tar cjf #{arch_path} -C dist/doc/html/ liblastfm"
# upload archive
run "mkdir -p #{release_path}"
top.upload arch_path, "#{release_path}/", :via => :scp, :recursive => true
# unpack archive
run "rm -rf liblastfm"
run "tar --extract --file #{release_path}/#{arch_fn} --directory=#{release_path} "
run "rm -v #{release_path}/#{arch_fn}"
create_symlink
# remove archive locally
system "rm -v #{arch_path}"
end
end
@dmalikov
Copy link
Author

dmalikov commented Dec 7, 2012

How to rollback

$> cap deploy:rollback
  * executing `deploy:rollback'
  * executing `deploy:rollback:revision'
  * executing "ls -x /var/www/budueba.com/data/releases"
    servers: ["jws"]
    [jws] executing command
    command finished in 31ms
  * executing "rm /var/www/budueba.com/htdocs; ln -s /var/www/budueba.com/data/releases/20121207224124 /var/www/budueba.com/htdocs"
    servers: ["jws"]
    [jws] executing command
    command finished in 35ms
  * executing `deploy:restart'
  * executing `deploy:rollback:cleanup'
  * executing "if [ `readlink /var/www/budueba.com/htdocs` != /var/www/budueba.com/data/releases/20121207224404 ]; then rm -rf /var/www/budueba.com/data/releases/20121207224404; fi"
    servers: ["jws"]
    [jws] executing command
    command finished in 53ms

@supki
Copy link

supki commented Dec 7, 2012

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment