遇到capistrano 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
可能有一种方法可以实现这一目标,但这是非常违反直觉的,并且不像我希望的那样有效。
答案 0 :(得分: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
{}
您能否看一下这个例子,如果您发现任何重大差异,请告诉我?