diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ff51e8..ec91826 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [1.3.0] - 2025-02-18 +### Added +- Add new capistrano task (`opscomplete:supervisor:disable`) which disables supervisor on non-procfile servers + ## [1.2.0] - 2024-08-23 ### Changed - Added a feature to restart Puma diff --git a/Gemfile.lock b/Gemfile.lock index 661383e..ea0cbbd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - capistrano-opscomplete (1.2.0) + capistrano-opscomplete (1.3.0) capistrano (>= 3.0, < 4.0.0) rake @@ -32,7 +32,7 @@ GEM parallel (1.20.1) parser (3.0.1.1) ast (~> 2.4.1) - rack (3.0.9.1) + rack (3.0.12) rainbow (3.0.0) rake (13.0.6) rubocop (0.76.0) diff --git a/README.md b/README.md index a38ab67..4638378 100644 --- a/README.md +++ b/README.md @@ -52,8 +52,11 @@ And in case you enabled [`Procfile support`](https://makandracards.com/opscomple e.g. like this: ```ruby -# Update and Restart supervisor config +# Update supervisor config after 'deploy:updating', 'opscomplete:supervisor:gen_config' +# Stop processes and remove config on non :procfile_role servers +after 'deploy:published', 'opscomplete:supervisor:disable' +# Restart supervisor processes after 'deploy:published', 'opscomplete:supervisor:restart_procs' ``` diff --git a/lib/capistrano/opscomplete/supervisor.rake b/lib/capistrano/opscomplete/supervisor.rake index 7e8ae46..6731a2b 100644 --- a/lib/capistrano/opscomplete/supervisor.rake +++ b/lib/capistrano/opscomplete/supervisor.rake @@ -10,6 +10,15 @@ namespace :opscomplete do end end + desc 'Remove supervisor configuration and stop all Procfile processes on non :procfile_role servers.' + task :disable do + on roles(:all) - roles(fetch(:procfile_role, :app)) do + within release_path do + execute :supervisor_disable + end + end + end + desc 'Reread the supervisor configuration and (re)start all Procfile processes' task :restart_procs do on roles fetch(:procfile_role, :app) do diff --git a/lib/capistrano/opscomplete/version.rb b/lib/capistrano/opscomplete/version.rb index 6492dc0..603cdd9 100644 --- a/lib/capistrano/opscomplete/version.rb +++ b/lib/capistrano/opscomplete/version.rb @@ -1,5 +1,5 @@ module Capistrano module Opscomplete - VERSION = '1.2.0'.freeze + VERSION = '1.3.0'.freeze end end