Merge pull request #1506 from basecamp/registry-login-on-push-and-pull
Move docker login into build command
This commit is contained in:
@@ -15,6 +15,8 @@ class Kamal::Cli::Build < Kamal::Cli::Base
|
||||
cli = self
|
||||
|
||||
ensure_docker_installed
|
||||
login_to_registry_locally
|
||||
|
||||
run_hook "pre-build"
|
||||
|
||||
uncommitted_changes = Kamal::Git.uncommitted_changes
|
||||
@@ -61,6 +63,8 @@ class Kamal::Cli::Build < Kamal::Cli::Base
|
||||
|
||||
desc "pull", "Pull app image from registry onto servers"
|
||||
def pull
|
||||
login_to_registry_remotely
|
||||
|
||||
if (first_hosts = mirror_hosts).any?
|
||||
# Pull on a single host per mirror first to seed them
|
||||
say "Pulling image on #{first_hosts.join(", ")} to seed the #{"mirror".pluralize(first_hosts.count)}...", :magenta
|
||||
@@ -181,4 +185,16 @@ class Kamal::Cli::Build < Kamal::Cli::Base
|
||||
execute *KAMAL.builder.validate_image
|
||||
end
|
||||
end
|
||||
|
||||
def login_to_registry_locally
|
||||
run_locally do
|
||||
execute *KAMAL.registry.login
|
||||
end
|
||||
end
|
||||
|
||||
def login_to_registry_remotely
|
||||
on(KAMAL.hosts) do
|
||||
execute *KAMAL.registry.login
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -20,9 +20,6 @@ class Kamal::Cli::Main < Kamal::Cli::Base
|
||||
runtime = print_runtime do
|
||||
invoke_options = deploy_options
|
||||
|
||||
say "Log into image registry...", :magenta
|
||||
invoke "kamal:cli:registry:login", [], invoke_options.merge(skip_local: options[:skip_push])
|
||||
|
||||
if options[:skip_push]
|
||||
say "Pull app image...", :magenta
|
||||
invoke "kamal:cli:build:pull", [], invoke_options
|
||||
@@ -52,7 +49,7 @@ class Kamal::Cli::Main < Kamal::Cli::Base
|
||||
run_hook "post-deploy", secrets: true, runtime: runtime.round.to_s
|
||||
end
|
||||
|
||||
desc "redeploy", "Deploy app to servers without bootstrapping servers, starting kamal-proxy, pruning, and registry login"
|
||||
desc "redeploy", "Deploy app to servers without bootstrapping servers, starting kamal-proxy and pruning"
|
||||
option :skip_push, aliases: "-P", type: :boolean, default: false, desc: "Skip image build and push"
|
||||
def redeploy
|
||||
runtime = print_runtime do
|
||||
|
||||
Reference in New Issue
Block a user