Sha256: c9d56157e01f042442998acff0ffb5e0ed9f0fa9d9316648879a391cab686344

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

#
# Common Rake Tasks for Middleman Apps
#

require 'airbrake/tasks'

desc 'Post Deployment Task for blazing'
task :post_deploy => :environment do
  #
  # Precompile assets
  #
  puts 'Precompiling assets'
  Rake::Task["assets:precompile"].invoke

  #
  # Run migrations
  #
  puts 'Running migrations if necessary'
  Rake::Task["db:migrate"].invoke

  #
  # Trigger Unicorn reexec with 0 downtime
  #
  puts 'restarting unicorns'
  # TODO: inject Rails.configuration.app_name into application.rb, document in changelog! (this should be done in the deployment generator!)
  system "#{ENV['HOME']}/unicorn.sh upgrade #{Rails.configuration.app_name}_#{Rails.env}"

  #
  # Enable monit monitoring
  #
  puts 'enable monit'
  system "monit -g #{Rails.configuration.app_name}_#{Rails.env} monitor"

  #
  # Notify Airbrake of deployment
  #
  puts 'notifying airbrake'
  system "rake airbrake:deploy TO=#{Rails.env} REVISION=$(git rev-parse HEAD)"
end

# TODO: db:pull, db:push, assets:pull, assets:push data:pull, data:push
# - generate task for each env available in environments
# - go to server, do yml dump, scp file down, db load
# - needs generic "go to server" method? => useful for other things!
# TODO: setup (https://github.com/screenconcept/shoestrap/issues/6)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoestrap-0.3.0.pre lib/shoestrap/tasks/rails.rb