gpt4 book ai didi

ruby - 如何将 cookbook_file 与 bash 结合使用?

转载 作者:数据小太阳 更新时间:2023-10-29 09:01:27 25 4
gpt4 key购买 nike

我正在使用以下逻辑编写 Chef Recipe :

if grep -q -i "release 6" /etc/redhat-release  
then
upload **file1** using cookbook_file resource
else if grep -q -i "release 7" /etc/redhat-release
then
upload **file2** using cookbook_file resource
fi

请让我知 Prop 有上述逻辑的 Chef Recipe 会是什么样子??
我可以利用哪些 Chef 资源?

最佳答案

使用 cookbook_file资源 你不是在上传文件,而是在本地复制它,因为它已经与节点上的说明书一起下载(或者它可以“按需”下载,具体取决于你的 client.rb 配置。

cookbook_file 中的files 目录允许使用file_specificity对于这个确切的用例,因此在您的上下文中,您的 Recipe 将只是:

cookbook_file '/path/to/target' do
source 'my_source_file'
action :create
end

您的 Recipe 文件目录将如下所示(当没有其他匹配目录时将使用默认文件,请参阅上面链接中的完整文档):

cookbook/
├── files
│   └── default
│   └── my_source_file
│   └── redhat_6.4
│   └── my_source_file
│   └── redhat_7.1
│   └── my_source_file

如果你真的只想使用主要版本,那么你可以删除目录结构中的次要版本,并像这样使用源属性中的 Ohai 属性(使用双引号插入变量):

cookbook_file '/path/to/target' do
source "#{node[platform]}-#{node[platform_version][/(\d).\d/,1]}/my_source_file"
action :create
end

关于ruby - 如何将 cookbook_file 与 bash 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34604674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com