【发布时间】:2019-07-15 20:21:28
【问题描述】:
我正在编写厨师食谱,并且仅在服务不工作时才需要执行操作(运行批处理)。 我用这个sn-p:
batch 'run commnad' do
cwd target_path + '/bin/win64'
code 'command to be executed'
not_if '::Win32::Service.exists?("Service name")'
end
但它似乎不起作用。在看到this 问题后,我使用 if 子句而不是守卫更改了流程,它工作正常:
if !::Win32::Service.exists?("Service name") then
batch 'Install zabbix agent' do
cwd target_path + '/bin/win64'
code 'command to be executed'
end
end
但据我了解,这不应该是管理这个问题的正确方法,所以我想知道:为什么警卫不能正常工作?
谢谢, 米歇尔。
【问题讨论】:
标签: ruby chef-infra chef-recipe