Дженкинс против Трэвиса-КИ: В чем разница?

Содержание:

Anonim

Что такое CI?

Непрерывная интеграция - это метод разработки программного обеспечения, при котором члены команды могут интегрировать свою работу хотя бы раз в день. В этом методе каждая интеграция проверяется автоматической сборкой для поиска ошибки. Концепция CI была впервые представлена ​​более двух десятилетий назад, чтобы избежать «ада интеграции», который случается, когда интеграция откладывается до конца проекта.

В этом руководстве вы узнаете

  • Что такое CI?
  • Что такое Трэвис Си?
  • Что такое Дженкинс?
  • Чем занимается Трэвис?
  • Что сделал Дженкин?
  • Особенности Travis CI:
  • Особенности Jenkin:
  • Трэвис против Дженкинса
  • Индекс популярности
  • Что лучше?

Как работает CI?

  • Разработчики пишут код и фиксируют изменения в общем репозитории.
  • После этого CI-сервер наблюдает за репозиторием и оценивает все изменения.
  • CI создает систему и проводит интеграцию и модульные тесты.
  • Сервер выпускает развертываемые артефакты
  • Сервер непрерывной интеграции назначает тег сборки версии и коду сборки.
  • Затем CI-сервер сообщает команде об успешной сборке. Если тесты терпят неудачу, сервер сообщает о событии команде разработчиков. Команда исправит проблемы как можно быстрее.

КЛЮЧЕВАЯ РАЗНИЦА

  • Travis CI - это коммерческий инструмент CI, тогда как Jenkins - инструмент с открытым исходным кодом.
  • Travis CI требует гораздо меньше времени, чтобы начать работу, в то время как Jenkins нуждается в сложной настройке.
  • Travis CI предлагает меньше возможностей настройки, тогда как Jenkins предлагает широкие возможности настройки.
  • Travis CI имеет файл конфигурации YAML, тогда как Jenkins предоставляет пользователю возможность полной конфигурации.

Что такое Трэвис Си?

Travis CI был первым CI как сервисным инструментом. Он представил новый подход к созданию кода в облаке. Этот инструмент CI позволяет пользователю регистрироваться, связывать свой репозиторий, создавать, а также тестировать свои приложения.

Инструмент Travis CI может легко интегрироваться с распространенными облачными репозиториями, такими как GitHub и Bitbucket. Он предлагает множество автоматизированных вариантов CI, которые исключают необходимость в выделенном сервере, поскольку сервер Travis CI размещен в облаке. Это позволяет вам тестировать в разных средах, на разных машинах, работающих в разных операционных системах.

Travis CI бесплатен для проектов с открытым исходным кодом. Для коммерческих проектов вам необходимо приобрести корпоративный тариф.

Что такое Дженкинс?

Jenkins - это отмеченный наградами инструмент непрерывной интеграции, который отслеживает выполнение циклов развертывания. Это началось как побочный проект группы инженеров-программистов Sun. Позже он был расширен как один из популярных инструментов CI с открытым исходным кодом, который помогает командам разработчиков программного обеспечения автоматизировать свои развертывания.

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

В этом инструменте разработчики также могут указать условия для настраиваемых сборок. Jenkins поддерживает огромный архив плагинов. Это позволяет разработчикам изменять внешний вид и работу Jenkin.

Более того, набор плагинов Jenkins Pipeline поставляется со специальными инструментами, которые позволяют разработчикам моделировать конвейеры доставки от простого к сложному, используя метод DSL (Digital Subscribe line).

Чем занимается Трэвис?

Travis CI предлагает следующие преимущества:

  • Вы можете отслеживать проекты GitHub
  • Запускает тест и быстро генерирует результаты. Возможно параллельное выполнение теста.
  • Создавайте артефакты и проверяйте качество кода
  • Простое развертывание в облачных сервисах
  • Он может идентифицировать как небольшие, так и большие изменения кода.
  • Разработчики могут использовать Travis CI для просмотра тестов во время их выполнения.
  • Инструмент интегрируется со Slack, HipChat, электронной почтой и т. Д.

Что делает Дженкин?

Jenkins позволяет автоматизировать задачи сборки, тестирования и развертывания. Инструмент обеспечивает поддержку различных ОС, таких как Windows, Mac OSX и Linux.

Более того, Jenkins дает вам возможность быстро создавать и тестировать код, чтобы получить раннюю обратную связь о том, готов ли он к производству или нет. В большинстве случаев Jenkin потребует нескольких модификаций в соответствии с индивидуальными требованиями вашей команды.

Особенности Travis CI:

  • Автоматическая интеграция с GitHub
  • Доступ к репозиторию для создания запросов на вытягивание
  • Поддержка 21 языка, такого как Android, C, C #, C ++, Java, JavaScript (с Node.js), Perl, PHP, Python, R, Ruby и т. Д.
  • Предустановленные инструменты сборки и тестирования
  • Доступные сервисы - базы данных, очереди сообщений и т. Д.
  • Развертывание в нескольких облачных сервисах
  • Шифровать переменные или файлы безопасной среды
  • Виртуальные машины воссоздаются после каждой сборки
  • Клиент CLI и API для написания сценариев
  • Поставляется с бесплатным облачным хостингом, который не требует обслуживания или администрирования.

Особенности Jenkin:

  • Простота установки, обновления и настройки
  • Распределенные сборки
  • Мониторинг внешних вакансий
  • Более 600 плагинов для настройки вашей среды Jenkins
  • Более 1000+ общедоступных репозиториев на Github, 500+ участников, высокая активность коммитов
  • Поддержка различных методов аутентификации, систем контроля версий, уведомлений и т. Д.
  • Jenkins предоставляет API удаленного доступа и его функции.
  • Предоставляет мощный инструмент CI / CD для больших проектов
  • Он поддерживает различные модели работы, такие как Freestyle, Pipeline и т. Д.
  • Позволяет разработчикам добавлять свои расширения
  • Совместим с Docker, Libvirt, Kubernetes и многими другими программами.

Трэвис против Дженкинса

Параметр Дженкин Трэвис
Расходы Дженкинс свободен. Но команде разработчиков необходимо запускать и поддерживать свой выделенный сервер. Это можно считать дополнительными расходами. Стоимость корпоративных пакетов Travis CI начинается от 129 долларов в месяц. Стоимость увеличивается в зависимости от требуемого уровня поддержки.
Время установки Дженкинсу нужна продуманная настройка. Так что вам придется очень долго ждать полной установки. На начало работы уходит гораздо меньше времени. Создайте файл конфигурации и начните интеграцию.
Спектакль Если вы ищете инструмент CI с неограниченными возможностями настройки, Jenkins - лучший выбор для вас. Travis CI - лучший выбор, если вы работаете в проекте с открытым исходным кодом.
Тип инструмента Это бесплатный инструмент с открытым исходным кодом. Это коммерческий инструмент CI.
использование Легко использовать Гибкость в использовании
Github Подходит для Github Отлично для Github
Поддерживать Обширная поддержка со стороны сообщества. Ограниченная поддержка сообщества.
Плюсы
  • Настройка - самое большое преимущество сервера Jenkins CI
  • Для изменения внешнего вида Jenkins можно настроить обширный архив плагинов.
  • Вы также можете добавить новые функции, такие как аутентификация, предупреждения и учетные данные.
  • Интеграция с GitHub и облаком
  • Неограниченные проекты с открытым исходным кодом с полной функциональностью
  • Обширная конфигурация проекта через файл .travis.ymi
  • Позволяет кластерные тесты и запускать их параллельно
  • Несколько сред сборки и целевых платформ (например, Node 0.10,0.8,0.6, Li on).
Минусы
  • Одним из основных недостатков Jenkins для непрерывной интеграции является то, что он легко настраивается. Готовой настройки нет. Вот почему на настройку всей системы может уйти от двух-трех часов до дней.
  • Самым большим минусом установки Travis CI является то, что его коммерческие планы начинаются со 129 долларов за м, что довольно дорого.
  • Не подходит для проектов с высоким уровнем безопасности
  • В отличие от других инструментов CI, он не предлагает поддержки Bitbucket.
Планы использования Свободный Бесплатно для проектов с открытым исходным кодом. Тем не менее, для предприятия оплачено.
Серверная машина На базе сервера Облачный
Параметры настройки Более Меньше
Конфигурация Полностью настраиваемый YAML
Контроль в системе Полный Очень меньше

Индекс популярности

Количество вопросов с пометкой Дженкинс и Трэвис в Stack Overflow.

Что лучше?

Таким образом, из приведенного выше обсуждения мы можем понять, что и Трэвис, и Дженкинс предлагают замечательные функции. Однако небольшие проекты с открытым исходным кодом лучше всего подходят для Travis CI, поскольку его легко запустить и быстро настроить. С другой стороны, для Jenkins лучше всего подходит крупное предприятие, поскольку оно предлагает бесплатное лицензирование для частного проекта и широкий спектр настраиваемых функций. Итак, мы можем сказать, что оба этих инструмента непрерывной интеграции по-своему хороши.