访问的变量如何在我已经包含有测试的配方变量其他配方如何添加相同的菜谱配方中其他以及如何从包括配方
include_recipe "localcookbook::test"
添加相同的烹饪书的食谱是不及格
访问的变量如何在我已经包含有测试的配方变量其他配方如何添加相同的菜谱配方中其他以及如何从包括配方
include_recipe "localcookbook::test"
添加相同的烹饪书的食谱是不及格
局部变量在包含中不可见,因为这会使它们不是局部变量。或者更一般地说,因为这不是Ruby的工作方式。
手段需要声明全局变量,好的帮助我。知道我是一般的问题,我是初学者的Devops – Udhay
为了实现你想要的,你需要使用cookbook的助手和库。作为一个开始,你可以检查这个资源的库https://blog.chef.io/2014/03/12/writing-libraries-in-chef-cookbooks/
这是带助手的基本示例。
在你的食谱文件夹,你需要创建库/ helpers.rb文件
module MyCookbook
module Helpers
@@state_value ||= ''
def set_state_value(v)
@@state_value = v
@@state_value
end
def get_state_value
@@state_value
end
end
end
Chef::Recipe.send(:include, MyCookbook::Helpers)
比方说,你有两个食谱 - A和B的厨师(sequently执行)。
在A中,你把set_state_value("state value")
和B get_state_value
,你有你从B食谱中的配方设置。
可能的重复[在厨师食谱中使用变量](http://stackoverflow.com/questions/23551104/using-a-variable-inside-a-chef-recipe) – StephenKing