我已经使用 AWS OpsWorks 成功部署了我的应用程序,现在我正在尝试实现一个自定义 Chef Cookbook,它允许我设置 bash 环境变量。我已经设置了 Git 存储库,食谱正在使用 OpsWorks 进行更新。我在我的开发盒上使用刀命令生成了食谱,它实际上只是一个recipes/default.rb
包含几行代码的文件的目录结构。
当我尝试执行以下操作时,我似乎不断收到错误
node[:deploy].each do |application, deploy|
deploy = node[:deploy][application]
command "ls -la"
end
(注意: ls -la 仅用于测试我知道这不会设置环境变量)
我收到以下错误:ERROR: Caught exception during execution of custom recipe: xyz-enviroment: NoMethodError - undefined method command' for #<Chef::Recipe:0x7feb59200c00> - /opt/aws/opsworks/releases/20130328224322_109/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/mixin/recipe_definition_dsl_core.rb:56:in method_missing
另外,如果我尝试类似
execute "setting up the enviroment" do
# TODO: Add code that does something here
end
我收到以下错误:
execute[setting up the enviroment] (/opt/aws/opsworks/current/site-cookbooks/xyz-enviroment/recipes/default.rb:18:in `from_file') had an error:
No such file or directory - setting up the enviroment
我是厨师的新手,所以我确定我做错了一些简单的事情,我只是无法弄清楚。在此先感谢您的帮助。