Назад | Перейти на главную страницу

Как установить / настроить атрибуты конфигурации в рецепте?

Я начинаю использовать Chef для автоматизации настройки машин сборки для фермы сборки. Некоторые из наших зависимостей здесь зависят от машины (например, лицензионный ключ для проприетарного компилятора), а другие атрибуты рецепта выиграют, если будут настраиваться (например, где найти установщик, который не является общедоступным).

Сейчас все эти настройки жестко запрограммированы в attribute.rb, например:

default[:mkl][:serial] = "XXXX"

и я использовал default [: mkl] [: serial] внутри самого рецепта.

Я хотел бы получить решение, которое не требует, если возможно, сервера шеф-повара (я использую chef-solo, и накладные расходы сервера на данном этапе не оправданы).

Мне удалось это сделать следующим образом:

  • сначала настройте его в файле solo.json как таковой:

    {                                                                                                   
      "mkl": {                                                                                        
       "license": "XXX",                                                          
      },
      "run_list": ["recipe[mkl::default]"
    }
    
    • затем запустите команду chef-solo с -j solo.json.

Моя ошибка заключалась в том, чтобы поместить раздел «mkl» в override_attributes.