0
我在確定包是否已安裝或已經使用廚師的chocolatey_package功能安裝時遇到問題。非常好,我正在安裝一個需要之後需要iisreset的軟件包。我只希望在安裝軟件包時重置iis,而不要在隨後執行主廚客戶端時(因爲包已安裝,巧克力會提早退出)。只有巧克力在安裝包時才運行廚師塊
我正在存儲哪些軟件包正在安裝在屬性文件中。它使用以下格式:
{'name'=>'blah', 'version'=>'1.0.0'[, 'should_notify'=>'reset iis']}
這是我迄今爲止,代碼明智的。 ?我怎麼能基於什麼行動的巧克力進行修改這個分支(安裝或
include_recipe 'chocolatey::default'
node['cookbook-name']['choco_packages'].each{ |package|
chocolatey package['name'] do
version package['version']
action :install
if package.instance_variable_defined?(:@should_notify) && package.should_notify == 'reset iis'
notify :run, 'execute[reset iis]', :immediately
end
end
}
execute 'reset iis' do
command 'iisreset'
action :nothing
end
感謝
由於OP似乎認爲某些軟件包的重置是可選的,因此在通知行末尾添加'unless'package ['should_notify']。nil?'或'if package ['should_notify'] =='reset_iis''如果不需要的話可以避免通知。 – Tensibai