Я пытаюсь найти лучший способ обновить атрибут окружения из скрипта. Сценарий будет запускаться как часть автоматического развертывания в определенной среде. Моя среда. Файл 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 для узла. Кроме того, обновление атрибута узла - это не то, что мне нужно, поскольку я понимаю, что атрибут среды в любом случае переопределит атрибут уровня узла.