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

ダウンロードが完了した後、ファイルに対して 1 つの関数を呼び出すだけなので、これは少し冗長に思えます。これを行うためのよりクリーンな方法はありますか?

4

1 に答える 1

2

この構造を置き換えるためにLWRPを作成できます。

さらに、Ruby ブロックが 1 回だけ実行されるように、通知を使用することを検討できます。

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 に答える