2014-02-17 111 views
0

我試圖目錄從一個文件夾複製到另一個文件夾,像這樣:廚師複製目錄

directory "C:\\test\\go" do 
    recursive true 
    action :create 
end 

cookbook_file "C:\\Automation" do 
    source "C:\\Automation" 
    path "C:\\test\\go" 
    action :create_if_missing 
end 

它創建目標文件夾C:\測試\去,但不會複製任何東西。 該文件說,它也應該處理目錄,所以任何想法,爲什麼它不? 我也嘗試了通配符源「C:\自動化\ *」,並也嘗試着削減...

+2

這不是一個「cookbook_file」資源是什麼用於。請參閱:http://docs.opscode.com/resource_cookbook_file.html使用紅寶石塊或只調用操作系統特定的複製命令。 –

+0

謝謝。有趣的是,我一直在使用純ruby cp_r,而在廚師經驗豐富的人告訴我要使用cookbook_file。 – max

+0

你可能會想要使用rsync或者只是掛載遠程文件夾 – sethvargo

回答

2

這裏是解決方案:

ruby_block "get the windows resources" do 
    block do 
    FileUtils.mkdir_p mod_path 
    FileUtils.cp_r(Dir["#{RESOURCE_DIR}/*.exe"], Chef::Config[:file_cache_path]) 
    end 
end