0

在作为厨师食谱的一部分下载远程文件后,我正在尝试在远程文件上运行库函数。我目前正在使用的语法似乎有效

remote_file "some_file" do
  source "some_url"
  action :create_if_missing  
end

ruby_block "some_block" do
  block do
    runMyScript("some_file")
  end
end

这似乎有点冗长,因为我真正想做的就是在文件下载完成后调用文件的单个函数。有没有更清洁的方法来做到这一点?

4

1 回答 1

2

您可以创建一个LWRP来替换此构造。

此外,您可以考虑使用通知,以便 ruby​​ 块只执行一次:

ruby_block "some_block" do
  block do
    runMyScript("some_file")
  end
  action :nothing
end

remote_file "some_file" do
  source "some_url"
  action :create_if_missing  
  notifies :run, "ruby_block[some_block]", :delayed
end
于 2013-11-06T23:22:11.250 回答