如何在Chef中运行一个bash脚本文件?

12

我写了一个简短的bash脚本并将其存储在files/default/bash.sh中。

如何将它链接到我的主默认食谱中以使其运行?由于我在Ubuntu系统上,它需要以sudo方式运行。


4
我不完全确定为什么这个问题被投票否决。我也有同样的问题,并发现这很有用。 - Michael Kropat
2个回答

20

经过反复搜索,我终于找到了答案:

cookbook_file "/tmp/lib-installer.sh" do
  source "lib-installer.sh"
  mode 0755
end

execute "install my lib" do
  command "sh /tmp/lib-installer.sh"
end

感谢这个链接


如何将 lib-installer.sh 的输出或 echo 输出到 Chef 日志中? - tuk
我认为lib-installer.sh应该在files/default目录下(您的OP使用bash.sh而不是lib-installer.sh)。 - Oliver

3

如果脚本不太长,您还可以通过bash resource直接在您的食谱中包含脚本。默认情况下,由Chef运行的任何程序都使用与Chef相同的用户,通常是root用户。您可以使用user参数来切换到其他用户或明确指定应该是root用户,以使事情更加自我记录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接