Sha256: 6a8c3b8a31064a7d9bcf6f62f2ec89895b6317705b0373f6ea08ccdeeabce23b

Contents?: true

Size: 1.2 KB

Versions: 26

Compression:

Stored size: 1.2 KB

Contents

# frozen_string_literal: true

# Capistrano 3 integration
namespace :appsignal do
  task :deploy do
    appsignal_env = fetch(:appsignal_env,
      fetch(:stage, fetch(:rails_env, fetch(:rack_env, "production"))))
    user = fetch(:appsignal_user, ENV["USER"] || ENV.fetch("USERNAME", nil))
    revision = fetch(:appsignal_revision, fetch(:current_revision))

    appsignal_config = Appsignal::Config.new(
      Dir.pwd,
      appsignal_env,
      Logger.new(StringIO.new)
    ).tap do |c|
      c.merge_dsl_options(fetch(:appsignal_config, {}))
      c.validate
    end

    if appsignal_config&.active?
      marker_data = {
        :revision => revision,
        :user => user
      }

      marker = Appsignal::Marker.new(marker_data, appsignal_config)
      # {#dry_run?} helper was added in Capistrano 3.5.0
      # https://github.com/capistrano/capistrano/commit/38d8d6d2c8485f1b5643857465b16ff01da57aff
      if respond_to?(:dry_run?) && dry_run?
        puts "Dry run: AppSignal deploy marker not actually sent."
      else
        marker.transmit
      end
    else
      puts "Not notifying of deploy, config is not active for environment: #{appsignal_env}"
    end
  end
end

after "deploy:finished", "appsignal:deploy"

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
appsignal-4.1.0-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.1.0 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.9-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.9 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.8-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.8 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.7-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.7 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.6-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.6 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.5-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.5 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.4-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.4 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.3-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.3 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.2-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.2 lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.1-java lib/appsignal/integrations/capistrano/appsignal.cap
appsignal-4.0.1 lib/appsignal/integrations/capistrano/appsignal.cap