代码之家  ›  专栏  ›  技术社区  ›  xyz1234

如果源模板更改,要执行的Chef模板资源?

  •  1
  • xyz1234  · 技术社区  · 6 年前

    remote_file 通知我的解压操作,解压操作通知模板资源,模板资源又通知其他资源。此通知链按预期工作。

    template 'C:\\Program Files\\MyProgram\\program.yml' do
      source "my_program-#{node['program']['version']}.yml.erb"
      action   :nothing
      notifies :run, 'powershell_script[install-program]', :immediately
    end
    

    template 如果我对源模板进行更改,是否执行资源?现在它只执行 如果我的解压操作通知了资源(由于 action :nothing ).

    不过,如果有一种方法可以让它判断模板本身是否发生了变化,那就太好了。也许是某种 not_if only_if

    1 回复  |  直到 6 年前
        1
  •  0
  •   Community CDub    4 年前

    回到你的问题上来,听起来 action :create ,这是默认操作,将完成此操作。从 template resource documentation

    创建一个文件。如果文件已存在(但不匹配),请更新该文件以匹配。