Chef - 执行vs bash资源

Jah*_*yst 5 ruby recipe chef-infra

我使用了execute资源或bash资源.

两者都达到了相同的结果:

bash 'Execute my script' do 
  user 'root'
  cwd  '/mydir'
  code <<-EOH
    ./myscript.sh
  EOH
end

execute 'Execute my script' do 
  user    'root'
  cwd     '/mydir'
  command './myscript.sh'
end
Run Code Online (Sandbox Code Playgroud)

我看到的唯一区别是bash实际上创建了一个shell脚本(名为/tmp/chef-script#{date}{#id})code写在哪里.

使用Chef之间executebash资源执行shell脚本的最佳做法是什么?

cod*_*ger 6

对于单个脚本,请使用execute.该bash资源用于将脚本内容包含在配方代码中.