Sha256: b056138ea3b0d1d208b075a3cc90c4790f799af9dbbe7fc8f3c928a1eab0095f

Contents?: true

Size: 1.07 KB

Versions: 20

Compression:

Stored size: 1.07 KB

Contents

class Kamal::Cli::Lock < Kamal::Cli::Base
  desc "status", "Report lock status"
  def status
    handle_missing_lock do
      on(KAMAL.primary_host) do
        puts capture_with_debug(*KAMAL.lock.status)
      end
    end
  end

  desc "acquire", "Acquire the deploy lock"
  option :message, aliases: "-m", type: :string, desc: "A lock message", required: true
  def acquire
    message = options[:message]
    ensure_run_directory

    raise_if_locked do
      on(KAMAL.primary_host) do
        execute *KAMAL.lock.acquire(message, KAMAL.config.version), verbosity: :debug
      end
      say "Acquired the deploy lock"
    end
  end

  desc "release", "Release the deploy lock"
  def release
    handle_missing_lock do
      on(KAMAL.primary_host) do
        execute *KAMAL.lock.release, verbosity: :debug
      end
      say "Released the deploy lock"
    end
  end

  private
    def handle_missing_lock
      yield
    rescue SSHKit::Runner::ExecuteError => e
      if e.message =~ /No such file or directory/
        say "There is no deploy lock"
      else
        raise
      end
    end
end

Version data entries

20 entries across 20 versions & 2 rubygems

Version Path
kamal-2.5.1 lib/kamal/cli/lock.rb
kamal-2.5.0 lib/kamal/cli/lock.rb
kamal-2.4.0 lib/kamal/cli/lock.rb
nocoffee-kamal-2.3.0.3 lib/kamal/cli/lock.rb
nocoffee-kamal-2.3.0.2 lib/kamal/cli/lock.rb
nocoffee-kamal-2.3.0.1 lib/kamal/cli/lock.rb
kamal-2.3.0 lib/kamal/cli/lock.rb
kamal-2.2.2 lib/kamal/cli/lock.rb
kamal-2.2.1 lib/kamal/cli/lock.rb
kamal-2.2.0 lib/kamal/cli/lock.rb
kamal-2.1.2 lib/kamal/cli/lock.rb
kamal-2.1.1 lib/kamal/cli/lock.rb
kamal-2.1.0 lib/kamal/cli/lock.rb
kamal-2.0.0 lib/kamal/cli/lock.rb
kamal-2.0.0.rc4 lib/kamal/cli/lock.rb
kamal-2.0.0.rc3 lib/kamal/cli/lock.rb
kamal-2.0.0.rc2 lib/kamal/cli/lock.rb
kamal-2.0.0.rc1 lib/kamal/cli/lock.rb
kamal-2.0.0.beta2 lib/kamal/cli/lock.rb
kamal-2.0.0.beta1 lib/kamal/cli/lock.rb