Class: Appsignal::Capistrano

Inherits:
Object
  • Object
show all
Defined in:
lib/appsignal/capistrano.rb

Class Method Summary collapse

Class Method Details

.tasks(config) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/appsignal/capistrano.rb', line 10

def self.tasks(config)
  config.load do
    after "deploy", "appsignal:deploy"
    after "deploy:migrations", "appsignal:deploy"

    namespace :appsignal do
      task :deploy do
        rails_env = fetch(:rails_env, 'production')
        user = ENV['USER'] || ENV['USERNAME']

        marker_data = {
          :revision => current_revision,
          :repository => repository,
          :user => user
        }

        marker = Marker.new(marker_data, ENV['PWD'], rails_env, logger)
        if config.dry_run
          logger.info "Dry run: Deploy marker not actually sent."
        else
          marker.transmit
        end
      end
    end
  end
end