switch to sshkit-interactive

This commit is contained in:
Florian Schwab 2016-09-16 00:39:27 +02:00
parent 9fa55b0262
commit b9eae8c8dc
7 changed files with 28 additions and 11 deletions

View File

@ -2,7 +2,9 @@
## Unreleased
### Changed
- switched connection part to _capistrano-interactive_
- switched connection part to _sshkit-interactive_
- allow setting rails environment separately deployment environment
- allow setting user to run rails console separately from ssh user
## 1.0.2 (2015-12-06)
### Fixed

View File

@ -43,6 +43,20 @@ You can also start a sandbox session:
$ cap production rails:console sandbox=1
## Options
### Rails environment
```ruby
set :console_env, :production
```
### User
```ruby
set :console_user, :appuser
```
## Contributing

View File

@ -18,12 +18,9 @@ Gem::Specification.new do |spec|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ['lib']
spec.add_dependency 'capistrano', '>= 3.1.0', '< 4.0.0'
spec.add_dependency 'capistrano-interactive', '~> 0.2.0'
spec.add_dependency 'sshkit', '>= 1.4'
spec.add_dependency 'capistrano', '>= 3.5.0', '< 4.0.0'
spec.add_dependency 'sshkit-interactive', '~> 0.2.0'
spec.add_development_dependency 'bundler'
spec.add_development_dependency 'rake'
spec.add_development_dependency 'yard'
end

View File

@ -0,0 +1 @@
require 'capistrano/rails/console'

View File

@ -1,3 +1,3 @@
require 'capistrano/interactive'
require 'sshkit/interactive'
load File.expand_path('../tasks/remote.cap', __FILE__)

View File

@ -4,7 +4,8 @@ namespace :load do
set :rvm_map_bins, fetch(:rvm_map_bins, []).push(:rails)
# Default values
set :console_env, -> { fetch(:rails_env, fetch(:stage, 'production')) }
set :console_env, -> { fetch(:rails_env, fetch(:stage, 'production')) }
set :console_user, -> { fetch(:app_user, nil) }
end
end
@ -14,9 +15,11 @@ namespace :rails do
args = []
args << '--sandbox' if ENV.key?('sandbox') || ENV.key?('s')
on primary(:app) do
run_interactively primary(:app) do
within current_path do
interact(:rails, :console, fetch(:console_env), *args)
as user: fetch(:console_user) do
execute(:rails, :console, fetch(:console_env), *args)
end
end
end
end

View File

@ -5,7 +5,7 @@ module Capistrano
# Console
module Console
# Gem version
VERSION = '1.1.0'
VERSION = '2.0.0'
end
end
end