Put locks directories in .kamal so they leave no trace when deleted
This commit is contained in:
@@ -207,12 +207,12 @@ class Kamal::Cli::Accessory < Kamal::Cli::Base
|
||||
end
|
||||
end
|
||||
|
||||
desc "remove_app_directory [NAME]", "Remove accessory directory used for uploaded files and data directories from host", hide: true
|
||||
def remove_app_directory(name)
|
||||
desc "remove_service_directory [NAME]", "Remove accessory directory used for uploaded files and data directories from host", hide: true
|
||||
def remove_service_directory(name)
|
||||
with_lock do
|
||||
with_accessory(name) do |accessory, hosts|
|
||||
on(hosts) do
|
||||
execute *accessory.remove_app_directory
|
||||
execute *accessory.remove_service_directory
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -248,7 +248,7 @@ class Kamal::Cli::Accessory < Kamal::Cli::Base
|
||||
stop(name)
|
||||
remove_container(name)
|
||||
remove_image(name)
|
||||
remove_app_directory(name)
|
||||
remove_service_directory(name)
|
||||
end
|
||||
|
||||
def prepare(name)
|
||||
|
||||
@@ -281,7 +281,7 @@ class Kamal::Cli::App < Kamal::Cli::Base
|
||||
|
||||
roles.each do |role|
|
||||
execute *KAMAL.auditor.record("Removed #{KAMAL.config.app_directory} on all servers", role: role), verbosity: :debug
|
||||
execute *KAMAL.server.remove_app_directory
|
||||
execute *KAMAL.server.remove_app_directory, raise_on_non_zero_exit: false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -101,7 +101,7 @@ module Kamal::Cli
|
||||
end
|
||||
|
||||
def acquire_lock
|
||||
ensure_app_and_locks_directory
|
||||
ensure_run_directory
|
||||
|
||||
raise_if_locked do
|
||||
say "Acquiring the deploy lock...", :magenta
|
||||
@@ -174,13 +174,9 @@ module Kamal::Cli
|
||||
instance_variable_get("@_invocations").first
|
||||
end
|
||||
|
||||
def ensure_app_and_locks_directory
|
||||
def ensure_run_directory
|
||||
on(KAMAL.hosts) do
|
||||
execute(*KAMAL.server.ensure_app_directory)
|
||||
end
|
||||
|
||||
on(KAMAL.primary_host) do
|
||||
execute(*KAMAL.lock.ensure_locks_directory)
|
||||
execute(*KAMAL.server.ensure_run_directory)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -12,7 +12,7 @@ class Kamal::Cli::Lock < Kamal::Cli::Base
|
||||
option :message, aliases: "-m", type: :string, desc: "A lock message", required: true
|
||||
def acquire
|
||||
message = options[:message]
|
||||
ensure_app_and_locks_directory
|
||||
ensure_run_directory
|
||||
|
||||
raise_if_locked do
|
||||
on(KAMAL.primary_host) do
|
||||
|
||||
@@ -192,7 +192,7 @@ class Kamal::Cli::Proxy < Kamal::Cli::Base
|
||||
with_lock do
|
||||
on(KAMAL.proxy_hosts) do
|
||||
execute *KAMAL.auditor.record("Removed #{KAMAL.config.proxy_directory}"), verbosity: :debug
|
||||
execute *KAMAL.proxy.remove_host_directory
|
||||
execute *KAMAL.proxy.remove_host_directory, raise_on_non_zero_exit: false
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -90,7 +90,7 @@ class Kamal::Commands::Accessory < Kamal::Commands::Base
|
||||
end
|
||||
end
|
||||
|
||||
def remove_app_directory
|
||||
def remove_service_directory
|
||||
[ :rm, "-rf", service_name ]
|
||||
end
|
||||
|
||||
|
||||
@@ -44,14 +44,10 @@ class Kamal::Commands::Lock < Kamal::Commands::Base
|
||||
"/dev/null"
|
||||
end
|
||||
|
||||
def locks_dir
|
||||
File.join(config.run_directory, "locks")
|
||||
end
|
||||
|
||||
def lock_dir
|
||||
dir_name = [ config.service, config.destination ].compact.join("-")
|
||||
dir_name = [ "lock", config.service, config.destination ].compact.join("-")
|
||||
|
||||
File.join(locks_dir, dir_name)
|
||||
File.join(config.run_directory, dir_name)
|
||||
end
|
||||
|
||||
def lock_details_file
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class Kamal::Commands::Server < Kamal::Commands::Base
|
||||
def ensure_app_directory
|
||||
make_directory config.app_directory
|
||||
def ensure_run_directory
|
||||
make_directory config.run_directory
|
||||
end
|
||||
|
||||
def remove_app_directory
|
||||
|
||||
Reference in New Issue
Block a user