Eager load only CLI for faster commands
This commit is contained in:
committed by
Donal McBreen
parent
5910249d02
commit
1d0e81b00a
@@ -6,8 +6,9 @@ require "active_support"
|
|||||||
require "zeitwerk"
|
require "zeitwerk"
|
||||||
require "yaml"
|
require "yaml"
|
||||||
require "tmpdir"
|
require "tmpdir"
|
||||||
|
require "pathname"
|
||||||
|
|
||||||
loader = Zeitwerk::Loader.for_gem
|
loader = Zeitwerk::Loader.for_gem
|
||||||
loader.ignore(File.join(__dir__, "kamal", "sshkit_with_ext.rb"))
|
loader.ignore(File.join(__dir__, "kamal", "sshkit_with_ext.rb"))
|
||||||
loader.setup
|
loader.setup
|
||||||
loader.eager_load # We need all commands loaded.
|
loader.eager_load_namespace(Kamal::Cli) # We need all commands loaded.
|
||||||
|
|||||||
@@ -74,8 +74,6 @@ module Kamal::Cli
|
|||||||
if KAMAL.holding_lock?
|
if KAMAL.holding_lock?
|
||||||
yield
|
yield
|
||||||
else
|
else
|
||||||
ensure_run_and_locks_directory
|
|
||||||
|
|
||||||
acquire_lock
|
acquire_lock
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@@ -104,6 +102,8 @@ module Kamal::Cli
|
|||||||
end
|
end
|
||||||
|
|
||||||
def acquire_lock
|
def acquire_lock
|
||||||
|
ensure_run_and_locks_directory
|
||||||
|
|
||||||
raise_if_locked do
|
raise_if_locked do
|
||||||
say "Acquiring the deploy lock...", :magenta
|
say "Acquiring the deploy lock...", :magenta
|
||||||
on(KAMAL.primary_host) { execute *KAMAL.lock.acquire("Automatic deploy lock", KAMAL.config.version), verbosity: :debug }
|
on(KAMAL.primary_host) { execute *KAMAL.lock.acquire("Automatic deploy lock", KAMAL.config.version), verbosity: :debug }
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
require "concurrent/ivar"
|
||||||
|
|
||||||
class Kamal::Cli::Healthcheck::Barrier
|
class Kamal::Cli::Healthcheck::Barrier
|
||||||
def initialize
|
def initialize
|
||||||
@ivar = Concurrent::IVar.new
|
@ivar = Concurrent::IVar.new
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ class Kamal::Cli::Lock < Kamal::Cli::Base
|
|||||||
option :message, aliases: "-m", type: :string, desc: "A lock message", required: true
|
option :message, aliases: "-m", type: :string, desc: "A lock message", required: true
|
||||||
def acquire
|
def acquire
|
||||||
message = options[:message]
|
message = options[:message]
|
||||||
|
ensure_run_and_locks_directory
|
||||||
|
|
||||||
raise_if_locked do
|
raise_if_locked do
|
||||||
on(KAMAL.primary_host) do
|
on(KAMAL.primary_host) do
|
||||||
execute *KAMAL.server.ensure_run_directory
|
execute *KAMAL.server.ensure_run_directory
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
require "active_support/core_ext/enumerable"
|
require "active_support/core_ext/enumerable"
|
||||||
require "active_support/core_ext/module/delegation"
|
require "active_support/core_ext/module/delegation"
|
||||||
|
require "active_support/core_ext/object/blank"
|
||||||
|
|
||||||
class Kamal::Commander
|
class Kamal::Commander
|
||||||
attr_accessor :verbosity, :holding_lock, :connected
|
attr_accessor :verbosity, :holding_lock, :connected
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ require "active_support/ordered_options"
|
|||||||
require "active_support/core_ext/string/inquiry"
|
require "active_support/core_ext/string/inquiry"
|
||||||
require "active_support/core_ext/module/delegation"
|
require "active_support/core_ext/module/delegation"
|
||||||
require "active_support/core_ext/hash/keys"
|
require "active_support/core_ext/hash/keys"
|
||||||
require "pathname"
|
|
||||||
require "erb"
|
require "erb"
|
||||||
require "net/ssh/proxy/jump"
|
require "net/ssh/proxy/jump"
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ require "sshkit/dsl"
|
|||||||
require "net/scp"
|
require "net/scp"
|
||||||
require "active_support/core_ext/hash/deep_merge"
|
require "active_support/core_ext/hash/deep_merge"
|
||||||
require "json"
|
require "json"
|
||||||
|
require "concurrent/atomic/semaphore"
|
||||||
|
|
||||||
class SSHKit::Backend::Abstract
|
class SSHKit::Backend::Abstract
|
||||||
def capture_with_info(*args, **kwargs)
|
def capture_with_info(*args, **kwargs)
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
require "active_support/core_ext/object/try"
|
||||||
|
|
||||||
module Kamal::Utils
|
module Kamal::Utils
|
||||||
extend self
|
extend self
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ class MainTest < IntegrationTest
|
|||||||
assert_env :HOST_TOKEN, "abcd", version: version, vm: :vm1
|
assert_env :HOST_TOKEN, "abcd", version: version, vm: :vm1
|
||||||
assert_env :SECRET_TOKEN, "1234 with \"中文\"", version: version, vm: :vm1
|
assert_env :SECRET_TOKEN, "1234 with \"中文\"", version: version, vm: :vm1
|
||||||
assert_no_env :CLEAR_TAG, version: version, vm: :vm1
|
assert_no_env :CLEAR_TAG, version: version, vm: :vm1
|
||||||
assert_no_env :SECRET_TAG, version: version, vm: :vm11
|
assert_no_env :SECRET_TAG, version: version, vm: :vm1
|
||||||
assert_env :CLEAR_TAG, "tagged", version: version, vm: :vm2
|
assert_env :CLEAR_TAG, "tagged", version: version, vm: :vm2
|
||||||
assert_env :SECRET_TAG, "TAGME", version: version, vm: :vm2
|
assert_env :SECRET_TAG, "TAGME", version: version, vm: :vm2
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user