Установка атрибута среды Chef из скрипта - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь найти лучший способ обновить атрибут окружения из скрипта. Сценарий будет запускаться как часть автоматического развертывания в определенной среде. Моя среда. Файл json имеет атрибут, подобный приведенному ниже:

"override_attributes": {
    "Work": {
      "BuildPath": "Release/MyLatestRelease01202020.zip",

Я пытаюсь выяснить, как обновить атрибут BuildPath как часть сценария развертывания, чтобы при запуске chef-client из узел будет использовать новую сборку.

Возможно, это не очень хороший способ go об этом. Я не очень хорошо знаком со всеми тонкостями шеф-повара, поэтому любая рекомендация о лучшем способе также подойдет.

До сих пор я пытался запустить скрипт ruby, который выполняет поиск узлов в среде и затем устанавливает новый путь сборки (как показано ниже).

search(:node, query) do |n|
   n.default['Work']['BuildPath'] = 'Release/MyLatestRelease01202020.zip'
   n.save
end

Однако, похоже, это работает не так, как я ожидал, и это не то, что я хочу делать. Запуск этого кода, по-видимому, фактически не обновляет BuildPath для узла. Кроме того, обновление атрибута узла - это не то, что мне нужно, поскольку я понимаю, что атрибут среды в любом случае переопределит атрибут уровня узла.

...