allow to set capistrano role (closes #33)

This commit is contained in:
Florian Schwab 2018-02-03 21:30:35 +01:00
parent ccd2d0419c
commit 6a983cd78e
3 changed files with 13 additions and 2 deletions

View File

@ -1,5 +1,9 @@
# Change Log
## Unreleased
### Feature
- Allow to set capistrano role to select server for remote console #33
## 2.2.1 (2017-09-04)
### Feature
- [add rails:db alias to rails:dbconsole](https://github.com/ydkn/capistrano-rails-console/pull/32)

View File

@ -66,6 +66,12 @@ set :console_user, :appuser # run rails console as appuser through sudo
set :console_user, nil # explicitly disable switching user through sudo
```
### User
```ruby
set :console_role, :app # start remote console on primary server for this role
```
## Contributing

View File

@ -9,6 +9,7 @@ namespace :load do
# Default values
set :console_env, -> { fetch(:rails_env, fetch(:stage, 'production')) }
set :console_user, -> { fetch(:app_user, nil) }
set :console_role, :app
end
end
@ -18,7 +19,7 @@ namespace :rails do
args = []
args << '--sandbox' if ENV.key?('sandbox') || ENV.key?('s')
run_interactively primary(:app) do
run_interactively primary(fetch(:console_role)) do
within current_path do
as user: fetch(:console_user) do
execute(:rails, :console, fetch(:console_env), *args)
@ -29,7 +30,7 @@ namespace :rails do
desc 'Interact with a remote rails dbconsole'
task :dbconsole do
run_interactively primary(:app) do
run_interactively primary(fetch(:console_role)) do
within current_path do
as user: fetch(:console_user) do
execute(:rails, :dbconsole, '-p', '-e', fetch(:console_env))