Connect to remote host before creating builder

Connecting to the remote host will make any SSH configuration issues
obvious and add the host to known hosts if that is how SSHKit is
configured.
This commit is contained in:
Donal McBreen
2023-09-11 17:02:32 +01:00
parent dfc2803714
commit 6a3b0249fe
3 changed files with 65 additions and 2 deletions

View File

@@ -1,3 +1,5 @@
require "uri"
class Kamal::Cli::Build < Kamal::Cli::Base
class BuildError < StandardError; end
@@ -55,6 +57,10 @@ class Kamal::Cli::Build < Kamal::Cli::Base
desc "create", "Create a build setup"
def create
mutating do
if (remote_host = KAMAL.config.builder.remote_host)
connect_to_remote_host(remote_host)
end
run_locally do
begin
debug "Using builder: #{KAMAL.builder.name}"
@@ -103,4 +109,12 @@ class Kamal::Cli::Build < Kamal::Cli::Base
end
end
end
def connect_to_remote_host(remote_host)
remote_uri = URI.parse(remote_host)
options = { user: remote_uri.user, port: remote_uri.port }.compact
on(remote_uri.host, options) do
execute "true"
end
end
end