Better error reporting and failure capture for build push
This commit is contained in:
@@ -10,15 +10,18 @@ class Mrsk::Cli::Build < Mrsk::Cli::Base
|
|||||||
desc "push", "Build locally and push app image to registry"
|
desc "push", "Build locally and push app image to registry"
|
||||||
def push
|
def push
|
||||||
verbose = options[:verbose]
|
verbose = options[:verbose]
|
||||||
|
cli = self
|
||||||
|
|
||||||
run_locally do
|
run_locally do
|
||||||
begin
|
begin
|
||||||
MRSK.verbosity(:debug) { execute *MRSK.builder.push }
|
MRSK.verbosity(:debug) { execute *MRSK.builder.push }
|
||||||
rescue SSHKit::Command::Failed => e
|
rescue SSHKit::Command::Failed => e
|
||||||
if e.message =~ /no such file or directory/
|
if e.message =~ /(no builder)|(no such file or directory)/
|
||||||
error "Missing compatible builder, so creating a new one first"
|
error "Missing compatible builder, so creating a new one first"
|
||||||
execute *MRSK.builder.create
|
|
||||||
MRSK.verbosity(:debug) { execute *MRSK.builder.push }
|
if cli.create
|
||||||
|
MRSK.verbosity(:debug) { execute *MRSK.builder.push }
|
||||||
|
end
|
||||||
else
|
else
|
||||||
raise
|
raise
|
||||||
end
|
end
|
||||||
@@ -34,8 +37,17 @@ class Mrsk::Cli::Build < Mrsk::Cli::Base
|
|||||||
desc "create", "Create a local build setup"
|
desc "create", "Create a local build setup"
|
||||||
def create
|
def create
|
||||||
run_locally do
|
run_locally do
|
||||||
debug "Using builder: #{MRSK.builder.name}"
|
begin
|
||||||
execute *MRSK.builder.create
|
debug "Using builder: #{MRSK.builder.name}"
|
||||||
|
execute *MRSK.builder.create
|
||||||
|
rescue SSHKit::Command::Failed => e
|
||||||
|
if e.message =~ /stderr=(.*)/
|
||||||
|
error "Couldn't create remote builder: #{$1}"
|
||||||
|
false
|
||||||
|
else
|
||||||
|
raise
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user