|
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