我正在尝试使用“windows”食谱中的windows_zipfile资源,但我需要解压缩的文件位于我正在运行的食谱中的files / default文件中。
通常我会使用“cookbook_file”资源访问此文件,如何使用windows_zipfile资源访问它?
我试过了:
windows_zipfile 'c:\test_app' do
source 'files/default/test_app.zip'
action :unzip
end
并获得“找不到文件files \ default \ test_zpp.zip”
答案 0 :(得分:2)
您需要在本地创建文件,然后运行您的windows_zipfile资源。您试图在repo中解压缩文件,而不是在节点上解压缩。 source
这里是本地文件系统上的文件。
cookbook_file 'c:/testapp.zip' do
source 'files/default/test_app.zip'
end
windows_zipfile 'c:/test_app' do
source 'c:/testapp.zip'
action :unzip
not_if {::File.exists?('c:/test_app')}
end
^另外,请确保包含not_if
防护以保护幂等性(以便每个Chef运行不会尝试解压缩)。
这在windows cookbook中有提及。