forked from thoughtbot/hoptoad_notifier
/
capistrano.rb
21 lines (19 loc) · 995 Bytes
/
capistrano.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Defines deploy:notify_hoptoad which will send information about the deploy to Hoptoad.
Capistrano::Configuration.instance(:must_exist).load do
after "deploy", "deploy:notify_hoptoad"
after "deploy:migrations", "deploy:notify_hoptoad"
namespace :deploy do
desc "Notify Hoptoad of the deployment"
task :notify_hoptoad, :except => { :no_release => true } do
rails_env = fetch(:hoptoad_env, fetch(:rails_env, "production"))
local_user = ENV['USER'] || ENV['USERNAME']
executable = RUBY_PLATFORM.downcase.include?('mswin') ? 'rake.bat' : 'rake'
notify_command = "#{executable} hoptoad:deploy TO=#{rails_env} REVISION=#{current_revision} REPO=#{repository} USER=#{local_user}"
notify_command << " DRY_RUN=true" if dry_run
notify_command << " API_KEY=#{ENV['API_KEY']}" if ENV['API_KEY']
puts "Notifying Hoptoad of Deploy (#{notify_command})"
`#{notify_command}`
puts "Hoptoad Notification Complete."
end
end
end