Do not invoke healthcheck on deploy when no web role

This commit is contained in:
Yoel Cabo
2023-11-14 11:29:07 +01:00
parent 87cb8c1f71
commit 887b7dd46d
5 changed files with 27 additions and 6 deletions

View File

@@ -3,7 +3,7 @@ class Kamal::Cli::Healthcheck < Kamal::Cli::Base
desc "perform", "Health check current app version"
def perform
return unless KAMAL.primary_role.running_traefik?
raise "The primary host is not configured to run Traefik" unless KAMAL.config.primary_role.running_traefik?
on(KAMAL.primary_host) do
begin
execute *KAMAL.healthcheck.run

View File

@@ -38,8 +38,10 @@ class Kamal::Cli::Main < Kamal::Cli::Base
say "Ensure Traefik is running...", :magenta
invoke "kamal:cli:traefik:boot", [], invoke_options
say "Ensure app can pass healthcheck...", :magenta
invoke "kamal:cli:healthcheck:perform", [], invoke_options
if KAMAL.config.primary_role.running_traefik?
say "Ensure app can pass healthcheck...", :magenta
invoke "kamal:cli:healthcheck:perform", [], invoke_options
end
say "Detect stale containers...", :magenta
invoke "kamal:cli:app:stale_containers", [], invoke_options.merge(stop: true)

View File

@@ -2,7 +2,6 @@ class Kamal::Commands::Healthcheck < Kamal::Commands::Base
def run
web = config.role(:web)
return unless web.present?
docker :run,
"--detach",