【发布时间】:2016-12-14 00:33:31
【问题描述】:
我在确定某个软件包是否已安装或已使用 Chef 的 Chocolatey_package 功能安装时遇到问题。几乎,我正在安装一个需要 iisreset 之后的包。我只想在安装包时重置 iis,而不是在后续执行 chef-client 时重置 iis(因为包已经安装,chocolatey 将提前退出)。
我将正在安装的软件包存储在属性文件中。它使用以下格式:
{'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
谢谢
【问题讨论】:
标签: chef-infra chef-recipe chocolatey