|
1 | 1 | class Kamal::Cli::App::Boot |
2 | 2 | attr_reader :host, :role, :version, :barrier, :sshkit |
3 | | - delegate :execute, :capture_with_info, :info, to: :sshkit |
| 3 | + delegate :execute, :capture_with_info, :capture_with_pretty_json, :info, :error, to: :sshkit |
4 | 4 | delegate :uses_cord?, :assets?, :running_traefik?, to: :role |
5 | 5 |
|
6 | 6 | def initialize(host, role, sshkit, version, barrier) |
@@ -43,7 +43,11 @@ def start_new_version |
43 | 43 |
|
44 | 44 | reach_barrier |
45 | 45 | rescue => e |
46 | | - close_barrier if barrier_role? |
| 46 | + if barrier_role? && barrier.close |
| 47 | + info "Deploy failed, so closed barrier (#{host})" |
| 48 | + error capture_with_info(*app.logs(version: version)) |
| 49 | + error capture_with_info(*app.container_health_log(version: version)) |
| 50 | + end |
47 | 51 | execute *app.stop(version: version), raise_on_non_zero_exit: false |
48 | 52 |
|
49 | 53 | raise |
@@ -80,14 +84,10 @@ def wait_for_barrier |
80 | 84 | barrier.wait |
81 | 85 | info "Barrier opened (#{host})" |
82 | 86 | rescue Kamal::Cli::Healthcheck::Error |
83 | | - info "Barrier closed, shutting down new container... (#{host})" |
| 87 | + info "Barrier closed, shutting down new container (#{host})..." |
84 | 88 | raise |
85 | 89 | end |
86 | 90 |
|
87 | | - def close_barrier |
88 | | - barrier&.close |
89 | | - end |
90 | | - |
91 | 91 | def barrier_role? |
92 | 92 | role == KAMAL.primary_role |
93 | 93 | end |
|
0 commit comments