Chef使用“cookbook_file”作为“windows_zipfile”资源的源

时间:2015-07-12 13:33:32

标签: chef

我正在尝试使用“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”

1 个答案:

答案 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中有提及。