Capistrano3::Pipenv
Pipenv tasks for capistrano3.
Installation
Add this line to your application's Gemfile:
group :development do
gem 'capistrano3-pipenv', require: false
end
And then execute:
$ bundle install
Usage
Require in Capfile
to use the default task:
require 'capistrano3/pipenv'
# If you are using pyenv
require 'capistrano3/pyenv'
The task will run before deploy:updated
as part of Capistrano's default deploy, or can be run in isolation with cap production pipenv:install
.
When you require the capistrano3/pyenv
, the pipenv
commands will be prefixed by pyenv exec
.
Following are the default settings configurable in this gem.
# for capistrano3/pipenv
set :pipenv_roles, :all
set :pipenv_servers, -> { release_roles(fetch(:pipenv_roles)) }
set :pipenv_flags, []
set :pipenv_env_variables, {}
set :pipenv_clean_options, '--all'
# for capistrano3/pyenv
set :pyenv_path, -> {
pyenv_path = fetch(:pyenv_custom_path)
pyenv_path ||
if fetch(:pyenv_type, :user) == :system
'/usr/local/pyenv'
else
'$HOME/.pyenv'
end
}
set :pyenv_roles, fetch(:pyenv_roles, :all)
set :pyenv_python_dir, -> { "#{fetch(:pyenv_path)}/versions/#{fetch(:pyenv_python)}" }
set :pyenv_map_bins, %w{pipenv}
Development
In your project which uses capistrano (and this gem), you'd probably want to try something like
gem 'capistrano3-pipenv', path: '/path/to/local/copy/of/this/repo'
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/Yuki-Inoue/capistrano3-pipenv .