lib/honeybadger/capistrano.rb in honeybadger-1.10.3 vs lib/honeybadger/capistrano.rb in honeybadger-1.11.0.beta1
- old
+ new
@@ -1,48 +1,7 @@
-# Defines deploy:notify_honeybadger which will send information about the deploy to Honeybadger.
require 'capistrano'
-module Honeybadger
- module Capistrano
- def self.load_into(configuration)
- configuration.load do
- after "deploy", "honeybadger:deploy"
- after "deploy:migrations", "honeybadger:deploy"
-
- namespace :honeybadger do
- desc <<-DESC
- Notify Honeybadger of the deployment by running the notification on the REMOTE machine.
- - Run remotely so we use remote API keys, environment, etc.
- DESC
- task :deploy, :except => { :no_release => true } do
- rails_env = fetch(:rails_env, "production")
- honeybadger_env = fetch(:honeybadger_env, fetch(:rails_env, "production"))
- rake_task = fetch(:honeybadger_deploy_task, 'honeybadger:deploy')
- local_user = ENV['USER'] || ENV['USERNAME']
- executable = RUBY_PLATFORM.downcase.include?('mswin') ? fetch(:rake, 'rake.bat') : fetch(:rake, 'rake')
- async_notify = fetch(:honeybadger_async_notify, false)
- directory = configuration.current_release
- notify_command = "cd #{directory};"
- notify_command << " nohup" if async_notify
- notify_command << " #{executable} RAILS_ENV=#{rails_env} #{rake_task} TO=#{honeybadger_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']
- notify_command << " >> /dev/null 2>&1 &" if async_notify
- logger.info "Notifying Honeybadger of Deploy (#{notify_command})"
- if configuration.dry_run
- logger.info "DRY RUN: Notification not actually run."
- else
- result = ""
- run(notify_command, :once => true, :pty => false) { |ch, stream, data| result << data }
- # TODO: Check if SSL is active on account via result content.
- end
- logger.info "Honeybadger Notification Complete."
- end
- end
- end
- end
- end
-end
-
-if Capistrano::Configuration.instance
- Honeybadger::Capistrano.load_into(Capistrano::Configuration.instance)
+if defined?(Capistrano::Configuration.instance)
+ require 'honeybadger/capistrano/legacy'
+else
+ load File.expand_path('../capistrano/tasks.rake', __FILE__)
end