Ruby 如何通知需要参数的chef execute资源

Ruby 如何通知需要参数的chef execute资源,ruby,chef-infra,Ruby,Chef Infra,我试图从远程文件资源中通知下面的执行资源,需要传递应用程序名称。我该怎么做 execute "rm -rf /opt/app/#{application['name']}.zip" do action: nothing end 除了可以使用目录资源删除它之外,没有参数之类的东西。在您的情况下,资源名称为execute[rm-rf/opt/app/#{application['name']}.zip],您必须使用此名称通知它: 一些资源“foo”do 不管是真的 通知:运行“execute

我试图从远程文件资源中通知下面的执行资源,需要传递应用程序名称。我该怎么做

execute "rm -rf /opt/app/#{application['name']}.zip" do 
  action: nothing
end

除了可以使用目录资源删除它之外,没有参数之类的东西。在您的情况下,资源名称为
execute[rm-rf/opt/app/#{application['name']}.zip]
,您必须使用此名称通知它:

一些资源“foo”do
不管是真的
通知:运行“execute[rm-rf/opt/app/#{application['name']}.zip]”
结束

对于名为
test
的应用程序,资源名称应为
execute[rm-rf/opt/app/test.zip]

除上述内容外,您还可以为资源提供更紧凑的名称:

execute 'delete_files' do
  command "rm -rf /opt/app/#{application['name']}.zip"
  action :nothing
end

some_resource 'foo' do
  whatever true
  notifies :run, 'execute[delete_files]'
end