Sha256: 579a4bcfc39eb88365e5f80fe630792cc38f8603008b85af4d05151ea8993b25
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true module Groundskeeper # Wraps Sentry CLI executable. class Sentry COMMAND = "sentry-cli" # sentry-cli arguments RELEASE = "releases new -p %<project>s \"%<version>s\"" ASSOCIATE = "releases set-commits --auto \"%<version>s\"" DEPLOY = "releases deploys \"%<version>s\" new -e %<environment>s" attr_reader :sentry, :project_name, :version_prefix def self.build(project_name:, version_prefix:) new( sentry: Executable.new(COMMAND), project_name: project_name, version_prefix: version_prefix ) end def initialize(sentry:, project_name:, version_prefix:) @sentry = sentry @project_name = project_name @version_prefix = version_prefix end # Notify Sentry about release def create_release(version) sentry.execute(format(RELEASE, project: project_name, version: version_name(version))) end # Associate commits with the release def associate_commits(version) sentry.execute(format(ASSOCIATE, version: version_name(version))) end # Announce deployment to an environment def deploy(version, environment) sentry.execute(format(DEPLOY, version: version_name(version), environment: environment)) end def version_name(version) "#{version_prefix} #{version}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
groundskeeper-bitcore-0.3.3 | lib/groundskeeper/sentry.rb |