Capistrano でタスクを超えて変数を保持する方法


deploy.rb
self[:variable:] = variable

カピストラノさん難しいよカピストラノさん

ちなみに
current_path shared_path release_pathdeploy_to を遅延評価しパスを作成しているので

deploy.rb
self[:is_development] = false

set user, "eccyan"
set application, "ikemen"

set deploy_to, do
  if self[:is_development]
    "/var/www/http/#{user}/#{application}"
  else
    "/var/www/http/#{application}"
  end
end

task :development do
  self[:is_development] = true
  puts current_path #=> "/var/www/http/eccyan/ikemen"
end

task :production do
  self[:is_development] = false
  puts current_path #=> "/var/www/http/ikemen"
end

みたいな事が出来る。