Ресурс шаблона Chef для выполнения, если исходный шаблон изменяется? - PullRequest
0 голосов
/ 17 ноября 2018

Я развертываю пакет, который требует создания шаблона в указанном каталоге каждый раз, когда каталог распаковывается.

A 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, если я внесу изменение в исходный шаблон? Прямо сейчас он только выполняет ресурс template, если получит уведомление от моего действия по распаковке (из-за моего action :nothing).

Однако было бы здорово, если бы у него был способ узнать, изменился ли сам шаблон. Возможно, какое-то выражение not_if или only_if?

1 Ответ

0 голосов
/ 05 декабря 2018

звучит для меня, что вы избегаете всей цепочки уведомлений, если ваши ресурсы будут определены в том же рецепте.

Возвращаясь к вашим вопросам, звучит эта настройка action :create, которая является действием по умолчанию,сделает свое дело.из документации по ресурсам шаблона

action: create

Создать файл.Если файл уже существует (но не совпадает), обновите этот файл, чтобы он соответствовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...