Я пишу поваренную книгу для установки и настройки приложения. Из того, что я искал Google, лучший способ изменить конфигурацию, - это поместить шаблон этого файла конфигурации. Но приложение может иметь разные версии и файлы конфигурации могут отличаться. Какое лучшее решение здесь? Создайте поставщика и ресурс, который будет изменять файлы на месте или создать блоки ruby, которые будут обрабатывать изменение? Спасибо.Изменение конфигурационных файлов с помощью шеф-повара
ответ
Что мы делаем, это синхронизация версии поваренной книги приложения с версией приложения.
Эта кулинарная книга несет ответственность за развертывание приложения и его настройку, поэтому при обновлении версии шаблон соответствующим образом обновляется.
Вы не даете много информации о том, какие изменения могут произойти в файле конфигурации, как правило, лучшим вариантом является наличие исчерпывающей конфигурации и включение или отсутствие ее частей на основе значений атрибутов для настройки на желаемом в зависимости от среды, роли, версии и т. д.
Я предполагаю, что у вас есть конфигурационный файл, который является XML или JSON или что-то подобное и есть параметры конфигурации и соответствующие значения.
Если при изменении конфигурационного файла вы указали изменение значения параметра конфигурации, вы можете использовать шаблон ERB для создания шаблона конфигурации. При создании шаблона вы добавляете переменные для изменения значений конфигурации. Эти переменные определяются во время выполнения, а значения переменных представлены в вашем рецепте.
Параметр конфигурации/сам шаблон может меняться с различными версиями приложения. По моему опыту, один из способов справиться с этим - связать версию поваренной книги с версией вашего приложения. Таким образом, вы сможете обновить шаблон конфигурации, когда приложение будет развиваться.
Нет У меня есть обычный текстовый файл конфигурации, который хранится в общем местоположении и обновляется каждым клиентом этого приложения. Итак, что вы говорите, я должен следить за каждым обновлением шаблонов приложений и обновлений? –
Благодарим вас за ответ. Пожалуйста, см. Мой комментарий ниже. –
@IgorZilberman неясно, какие изменения, придумайте пример случаев в вашем вопросе, чтобы мы могли правильно ответить. – Tensibai
Прошу прощения, теперь я понял, что на самом деле я задаю два вопроса. Предположим, что я синхронизирую версию np с этой, вторая часть - это приложение, в котором хранятся все клиенты (подчиненные) этого приложения - каждый узел, который устанавливает это приложение, должен добавить свое имя хоста в этот один файл. Ведьма хранится в общем месте. Поэтому я создал LWRP, чтобы добавить имя хоста, если оно не существует - установка шаблона не будет выполнять задание. –