Sha256: f0820f173af96f5bdefb2b226ebd4ad44f65e7cef1a15c8fed5001107cbd6ea6
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
namespace :nodenv do task :validate do on roles(fetch(:nodenv_roles)) do nodenv_node = fetch(:nodenv_node) if nodenv_node.nil? error "nodenv: nodenv_node is not set" exit 1 end unless test "[ -d #{fetch(:nodenv_node_dir)} ]" error "nodenv: #{nodenv_node} is not installed or not found in #{fetch(:nodenv_node_dir)}" exit 1 end end end task :map_bins do SSHKit.config.default_env.merge!({ nodenv_root: fetch(:nodenv_path), nodenv_version: fetch(:nodenv_node) }) nodenv_prefix = fetch(:nodenv_prefix, proc { "#{fetch(:nodenv_path)}/bin/nodenv exec" }) SSHKit.config.command_map[:nodenv] = "#{fetch(:nodenv_path)}/bin/nodenv" fetch(:nodenv_map_bins).each do |command| SSHKit.config.command_map.prefix[command.to_sym].unshift(nodenv_prefix) end end end Capistrano::DSL.stages.each do |stage| after stage, 'nodenv:validate' after stage, 'nodenv:map_bins' end namespace :load do task :defaults do set :nodenv_path, -> { nodenv_path = fetch(:nodenv_custom_path) nodenv_path ||= if fetch(:nodenv_type, :user) == :system "/usr/local/nodenv" else "~/.nodenv" end } set :nodenv_roles, fetch(:nodenv_roles, :all) set :nodenv_node_dir, -> { "#{fetch(:nodenv_path)}/versions/#{fetch(:nodenv_node)}" } set :nodenv_map_bins, %w{node npm} end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
capistrano-nodenv-1.0.1 | lib/capistrano/tasks/nodenv.rake |