Я читал об использовании R10K с Puppet для управления моими средами с помощью git.
Согласно ] этот блог некоторые функции R10K были встроены в более поздние версии puppet:
Поскольку R10k был настолько популярен и широко использовался, среда решение, которое было простым шагом вперед по сравнению с развертыванием R10k, было сделано были рождены окружения цели и каталогов.
Это заставило меня задаться вопросом, следует ли мне использовать R10K. Итак, я начал читать об использовании контрольных репозиториев в документации Puppet . Согласно документации, я могу использовать R10K или Code Manager:
Если у вас уже есть Puppetfile, теперь вы можете настроить код управление. Шаги настройки управления кодом различаются в зависимости от используете ли вы Code Manager (рекомендуется) или r10k.
Я никогда не слышал о Code Manager, поэтому я перешел на страницу с описанием Code Manager в документации Puppet. Согласно этой странице Code Manager использует R10K под капотом.
У меня сложилось впечатление из документации, что Code Manager теперь является встроенной функцией Puppet? Так ли дело в этом или это необходимо установить?
Примечание: я использую версию Puppet для сообщества, а не корпоративную.
Code Manager - это функция, предназначенная только для PE, она не встроена в Puppet.
Code Manager - это, по сути, API, который запускается, когда на вашем сервере Git происходят события.
Пример рабочего процесса с Gitlab:
Я упрощаю, поскольку есть другие шаги (проверка ошибок, аутентификация и т.д.), но по сути это то, что происходит.
Для пользователей с открытым исходным кодом в репозитории r10k есть менее функциональный инструмент, похожий на Code Manager: https://github.com/voxpupuli/puppet-r10k#webhook-support
Он работает аналогично способ, но он имеет меньше функций и официально не поддерживается. Но это аналогичный рабочий процесс: приложение Sinatra прослушивает полезные нагрузки JSON, когда оно получает их, оно запускает и запускает R10k для данной ветви.