我应该在哪里把msi文件放在我的食谱中?

时间:2016-09-06 22:48:05

标签: windows chef chef-recipe cookbook recipe

我正在使用带有windows_package资源的MSI删除Windows程序:

windows_package 'SomeShittyProgram' do
  action :remove
  source 'c:\temp\msi'
end

在我的食谱中有(小)MSI文件是否安全?我怎样才能让厨师将该文件提供给节点?

我使用remote_file将其从网络位置拉出来,但这使得在测试厨房中测试食谱变得困难。

1 个答案:

答案 0 :(得分:1)

一般情况下,强烈建议不要这样做(将大型二进制文件存储在食谱中),但您可以这样做。将文件放在./files/whatever.msi下,然后在配方代码中使用cookbook_file "#{Chef::Config[:file_cache_path]}/whatever.msi" do source "whatever.msi" end,然后使用windows_package资源进行安装。

不这样做的原因是Chef不是一个好的文件存储系统。使用诸如S3,Artifactory甚至HTTP服务器加remote_file之类的东西可以提供更多灵活性。这往往会使你的git仓库迅速膨胀。