Я ищу повара для автоматизации развертываний Magento - как для стандартных вариантов хостинга Magento, так и для сред, таких как EC2. Я гуглил и вижу множество рецептов, но ни один из них не кажется мне каноническим. Есть какой-то конкретный сценарий шеф-повара, который лучше / лучше? Кроме того, если вы делали развертывание chef с помощью PHP раньше, что бы вы хотели знать, когда только начинали?
10
Ответы:
Практически невозможно иметь набор процедур «один размер подходит всем». Я успешно написал сценарий Bash, который выполняет
chef-client
запуски в списках хостов, предоставленныхknife search
. Процедуры выглядят так ...Chef Server с открытым исходным кодом 10.18.2 в Ubuntu 12.04 LTS
$branch
n98-magerun.phar
n98-magerun.phar
$revision
как новый выпускИсточник: https://gist.github.com/parhamr/6177160#file-2-deployment
источник
Вот как я подошел к этой области, играя роль хочу быть сисадмином / devops. Большинство из них будут только общими принципами, которым я стараюсь следовать, а не определенными шеф-поваром.
Я закончил тем, что пошел с Puppet, потому что я обнаружил, что в то время было больше ресурсов, и мне было легче подобрать его для меня.
Я посмотрел на различные готовые модули, доступные для таких вещей, как apache, php5 и т. Д. Многие из них, казалось, делали намного больше, чем мне нужно, и, будучи настолько незнакомыми с платформой, я не доверял происходящему. Я решил, что для меня будет проще просто определить, что мне нужно сделать для каждого типа узла.
Я начал процесс с предоставления локальной среды разработки команды (vargrant + virtual box). Для каждого сервиса / компонента я создал модуль: php5, apache2, redis, mysql и т. Д.
Как только среда разработки стала стабильной / работающей, я начал создавать среду QA. Я определил универсальные типы узлов для веб-серверов, redis, лаков и т. Д., Которые повторно использовали те же модули, что и dev. Как только это было сделано, для постановки и производства потребовались минимальные изменения, чтобы начать работу.
По мере того, как вы будете писать и писать свои рецепты / шаблоны, вы должны подумать, как их можно использовать повторно / обобщать. Не жестко программируйте такие вещи, как пути или пользователи / группы, которые могут меняться в дистрибутивах / проектах / средах. Поскольку вы смотрите на обобщенный подход, я бы предположил, что большое препятствие будет связано с различиями между * nix-дистрибутивами.
Самое главное, сохранить просто. Автоматизируйте / стандартизируйте наиболее важные / трудоемкие части среды. Итерируйте, развивайтесь.
источник