Что такое 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 |
Поддерживать | Обширная поддержка со стороны сообщества. | Ограниченная поддержка сообщества. |
Плюсы |
|
|
Минусы |
|
|
Планы использования | Свободный | Бесплатно для проектов с открытым исходным кодом. Тем не менее, для предприятия оплачено. |
Серверная машина | На базе сервера | Облачный |
Параметры настройки | Более | Меньше |
Конфигурация | Полностью настраиваемый | YAML |
Контроль в системе | Полный | Очень меньше |
Индекс популярности
Количество вопросов с пометкой Дженкинс и Трэвис в Stack Overflow.
Что лучше?
Таким образом, из приведенного выше обсуждения мы можем понять, что и Трэвис, и Дженкинс предлагают замечательные функции. Однако небольшие проекты с открытым исходным кодом лучше всего подходят для Travis CI, поскольку его легко запустить и быстро настроить. С другой стороны, для Jenkins лучше всего подходит крупное предприятие, поскольку оно предлагает бесплатное лицензирование для частного проекта и широкий спектр настраиваемых функций. Итак, мы можем сказать, что оба этих инструмента непрерывной интеграции по-своему хороши.