Capify::Rbenv
Capistrano recipes to setup rbenv, ruby and bundler. It provides all the goodies of capistrano-rbenv and adds more features, like:
- Install rbenv if not installed already.
- Install ruby-build if not installed already.
- Install specified ruby version if not installed already.
- Install specified bundler version if not installed already.
Installation
Add this line to your application's Gemfile:
gem 'capistrano', '~> 3.13'
gem 'capify-rbenv', '~> 5.0'
And then execute:
$ bundle install
Usage
# Capfile
require 'capistrano/rbenv'
install_plugin Capistrano::Rbenv # Required: Setup rbenv
install_plugin Capistrano::Rbenv::SetupRuby # Optional: Install/Setup ruby
install_plugin Capistrano::Rbenv::SetupBundler # Optional: Install/Setup bundler
# config/deploy.rb
set :rbenv_ruby, '2.7.1' # Set ruby version to use
set :rbenv_bundler, '2.1.4' # Set bundler version to use
# In case you want to set ruby version from .ruby-version file:
# set :rbenv_ruby, File.read('.ruby-version').strip
Following is the list of all optional configurable options along with their default values and examples.
# Set role on which rbenv setup will apply
set :rbenv_role, :app
# Set rbenv installation type (user/system)
set :rbenv_type, :user
# Set rbenv installation path
set :rbenv_path, fetch(:rbenv_type) == :system ? '/usr/local/rbenv' : '$HOME/.rbenv'
# Set rbenv directory for installed ruby versions
set :rbenv_ruby_dir, "#{fetch(:rbenv_path)}/versions/#{fetch(:rbenv_ruby)}"
# Set or append the list of dependencies to install
# See lib/capistrano/tasks/defaults.rake for default dependencies
append :rbenv_ruby_deps, 'libsqlite3-dev', 'sqlite3'
# Set dependencies installer
set :rbenv_ruby_deps_installler, 'apt-get install -y'
# Set or append customs bins to create under rbenv
# See lib/capistrano/tasks/defaults.rake for default bins
append :rbenv_map_bins, 'puma', 'pumactl'
Available tasks
rbenv:install # Install rbenv
rbenv:map_bins # Map binaries to rbenv path
rbenv:install_bundler # Install bundler
rbenv:install_ruby # Install ruby
rbenv:install_ruby_build # Install/Update ruby-build - rbenv plugin
rbenv:install_ruby_deps # Install ruby dependencies
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/uxxman/capify-rbenv.
License
The gem is available as open source under the terms of the MIT License.