Почему Capistrano возвращает другой выбор, чем набор VARS
Возникли проблемы с капистрано 3.
Всякий раз, когда я устанавливаю значение, которое не является строкой, при получении значение исчезает, я ожидаю пустой хэш:
namespace :something
set :my_var, Hash.new
task :do_something do
fetch(:my_var) # this is empty, no way to get a hash here, always a string
end
end
Вероятно, есть способ достичь этого, но это очень нелогично и не работает, как я надеялся.
1 ответ
Я попробовал это сам, и он, кажется, делает то, что вы ожидаете: https://github.com/will-in-wi/cap_3_variable_test
Если я создаю папку, устанавливаю Capistrano, а затем создаю ее как мою deploy.rb
:
# config valid only for current version of Capistrano
lock '3.4.0'
set :my_var, Hash.new
namespace :something do
task :do_something do
puts fetch(:my_var).class
puts fetch(:my_var)
end
end
И беги bundle exec cap staging something:do_something
, Я получил:
Hash
{}
Не могли бы вы взглянуть на этот пример и сообщить мне, если вы видите какие-либо существенные различия?