Chef
Материал из noname.com.ua
Chef
Компиляция из разных источников. (см. ссылки)
Рецепты
$ sudo apt-get install git-core $ git clone git://github.com/opscode/cookbooks.git
Для создании новой Cookboks используется команда “rake new_cookbook”, с указанием ее названия. $ rake new_cookbook COOKBOOK=nginx
Пример рецепта
В результате будет создана вся необходимая структура. Внутри каталога Cookbooks содержится несколько файлов и подкаталогов имеющих определенное назначение. Все тонкости Cookbooks разбирать не будем, именно этот вопрос в документации освещено более менее хорошо. Основной файл называется metadata.rb содержит описание, данные мантайнера, лицензию, список поддерживаемых ОС, зависимости, конфликты и атрибуты. Например:
# список поддерживаемых ОС %w{ ubuntu debian }.each do |os| supports os end # зависимости %w{ build-essential runit }.each do |cb| depends cb end
Даже если вы ни разу не писали в Ruby, смысл должен быть понятен. Параметр %w описывает строковый массив, а свойство .each перебирает элементы этого массива, do-end для каждого элемента выполняет выбранное действие. То есть в первом примере мы «получаем»:
support ubuntu support debian