3

我有一个属性文件default.rb,其中有一个键,它default['current']以字符串格式存储一个目录。我想在更改目录时将其用于以下命令:

# Run database migrations
execute 'database migrations' do
  user    'ubuntu'
  cwd     "#{default['current']}"
  command 'sudo php artisan down && sudo php artisan migrate --force && sudo php artisan up'
end

相反,当我运行食谱时,我得到了以下错误。

NameError
---------
No resource, method, or local variable named `default' for `Chef::Recipe "deploy"'

有没有我想念的正确方法来做到这一点?我宁愿不在工作目录中硬编码。

4

2 回答 2

3

当在配方中引用属性时,我们需要在它们前面加上前缀node,如下所示:

cwd     node['current']

另请参阅:配方中的覆盖属性

于 2017-02-06T20:31:52.957 回答
0

这似乎得到了回答。但我没有看到此文档核心的链接(IMO)它都在这里:https ://docs.chef.io/attributes.html

于 2017-02-09T22:53:15.130 回答