Включает ли Puppet 4 Code Manager?

Я читал об использовании 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, а не предприятия.

1 ответ

Решение

Code Manager - это функция PE, она не встроена в Puppet.

Code Manager - это API-интерфейс, который запускается при возникновении событий на вашем Git-сервере.

Пример рабочего процесса с Gitlab:

  • Кто-то объединяет запрос на удаление в производственную ветвь контрольного репо
  • Gitlab запускает полезную нагрузку JSON в API менеджера кода
  • API менеджера кода читает полезную нагрузку, видит, что это для производственной ветви
  • Менеджер кода запускает R10k Run для производственного филиала

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

Для пользователей с открытым исходным кодом в репо r10k есть менее функциональный инструмент, подобный Code Manager: https://github.com/voxpupuli/puppet-r10k

Он работает аналогичным образом, но имеет меньше возможностей и официально не поддерживается. Но это аналогичный рабочий процесс: приложение Sinatra прослушивает полезные нагрузки JSON, когда оно получает один из них, оно запускает и запускает R10k для данной ветви.

Другие вопросы по тегам