ruby – 在Chef中复制整个目录结构

前端之家收集整理的这篇文章主要介绍了ruby – 在Chef中复制整个目录结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个目录结构(示例数据),我想在Chef配方中复制.似乎唯一的方法是显式创建每个单独的目录和文件
directory "/mnt/data/experiment1/dataset1" do
   recursive true
   only_if { node.chef_environment == "dev" }
end


directory "/mnt/data/experiment1/dataset2" do
   recursive true
   only_if { node.chef_environment == "dev" }
end

directory "/mnt/data/experiment2/dataset1" do
   recursive true
   only_if { node.chef_environment == "dev" }
end


directory "/mnt/data/experiment1/dataset2" do
   recursive true
   only_if { node.chef_environment == "dev" }
end


cookbook_file "/mnt/data/experiment1/dataset1/testfile1.txt" do
   owner "atom"
   group "atom"
   mode "0644"
   source "sampledata/experiment1/dataset1/testfile1.txt"
   only_if { node.chef_environment == "dev"}
end

...

有没有办法简单地从菜谱中递归复制整个目录结构?指定配方中每个文件名称似乎是多余的并且容易出错(即,如果我们向树中添加文件但忘记在配方中引用它,则不会复制它.)

我想一个黑客的解决方法是找出所有厨师文件被复制到目标机器上的地方并做一个cp -r但是有什么更干净的东西吗?

或者我是以错误的方式来做这件事的?

解决方法

为什么不使用remote_directory资源.
它的目的正是为了那个.

见:https://docs.chef.io/resource_remote_directory.html

猜你在找的Ruby相关文章