Подтвердить что ты не робот

В чем разница между Дженкинсом и Шефом?

В чем разница между Дженкинсом и Шефом?

Их основные цели, для которых они используются, и так далее.

4b9b3361

Ответ 1

Jenkins - это сервер непрерывной интеграции, целью которого является создание и тестирование программного обеспечения, которое вы разрабатываете. Основная сила Дженкинса:

  • Интеграция с контролем источника (SVN, Git,...)
  • Интеграция с системами сборки (иногда через плагины), например. Maven для Java, XCode для разработки iOS,...
  • Узлы рабочих станций (slaves) очень легко добавлять (вам просто нужно предоставить информацию о доступе ssh)
  • Огромный репозиторий плагинов для большинства случаев использования, о которых вы можете думать

Основным подразделением Jenkins является Job, обычно компиляция и тестирование части программного обеспечения. Общий рабочий процесс:

  • Что-то изменилось в исходном управлении
  • Jenkins проверяет исходный контроль, запускает сборку для соответствующего задания (-ов)
  • Задание выполняется, сообщает о сбое сборки или теста и хранит артефакты сборки (исполняемый файл результата, файл .war и т.д.).

Дженкинс поддерживает зависимость между заданиями.

Шеф-повар предназначен для автоматизации развертывания стека приложений на серверах.

Основным подразделением шеф-повара является поваренная книга. Поваренная книга содержит список рецептов, необходимых для развертывания приложения. Рецепт может включать рецепты из других кулинарных книг, то есть вы можете иметь зависимости между кулинарами.

Основная сила шеф-повара:

  • Большой репозиторий публичных кулинарных книг (многие из них поддерживаются Opscode) на http://community.opscode.com/
  • Idempotency: кулинарные книги должны быть идемпотентными, т.е. они всегда приносят систему в одно и то же состояние независимо от исходного состояния, кроме того, если никаких изменений не требуется, рецепты выполняются довольно быстро.
  • механизм шаблонов erubis для шаблонов конфигурационных файлов
  • на большинстве системных ресурсов, которые вам понадобятся (например, файлы, службы,...), так что кулинарная книга может быть спроектирована как-то независимо от дистрибутива Linux, используемого на сервере.

Короче говоря, Дженкинс используется для сборки и тестирования, а шеф-повар используется для развертывания. Тем не менее вы можете использовать Jenkins для развертывания, если ваш стек приложения достаточно прост.