Дженкинс против Трэвис-CI. Какой из них вы бы использовали для проекта с открытым исходным кодом?
Для моего проекта мне нужно выбрать между Дженкинсом и Трэвисом-CI. Я использую Дженкинса в течение многих лет, но я также читал хорошие отзывы о Travis-CI.
Какой из них вы бы использовали для проекта с открытым исходным кодом? Каковы основные преимущества или преимущества обоих?
Ответы
Ответ 1
Travis-ci и Jenkins, хотя оба являются инструментами для непрерывной интеграции, очень различны.
Travis - это размещенная служба (бесплатная для открытого кода), в то время как вы должны размещать, устанавливать и настраивать Jenkins.
У Трэвиса нет работы, как у Дженкинса. Команды, выполняемые для проверки кода, берутся из файла с именем .travis.yml
, который находится вдоль кода проекта. Это позволяет легко использовать разные тестовые коды для каждой ветки, поскольку каждая ветвь может иметь свою собственную версию файла .travis.yml.
У вас может быть аналогичная функция с Jenkins, если вы используете один из следующих плагинов:
- Travis YML Plugin - предупреждение: похоже, не популярно, возможно, не является полным по сравнению с реальным Travis.
- Jervis - модификация Дженкинса, чтобы заставить его читать задания создания из файла
.jervis.yml
, найденного в корне кода проекта. Если .jervis.yml
не существует, он будет возвращаться к использованию файла .travis.yml
.
Существуют и другие размещенные службы, которые вы также можете рассмотреть для непрерывной интеграции (не исчерпывающий список):
Как выбрать?
Возможно, вам захочется остаться с Дженкинсом, потому что вы знакомы с ним или не хотите зависеть от третьей стороны для вашей системы непрерывной интеграции.
Кроме того, я бы бросил Дженкинса и пошел с одним из бесплатных сервисов CI, поскольку они сэкономили вам много неприятностей (хост, установка, настройка, подготовка заданий).
В зависимости от того, где размещен ваш репозиторий кода, я бы сделал следующие варианты:
- in-house → Дженкинс или gitlab-ci
- Github.com → Travis-CI
Чтобы настроить Travis-CI в проекте github, вам нужно всего лишь:
- добавьте . travis.yml файл в корень вашего проекта
- создать учетную запись на travis-ci.com и активировать свой проект
Доступны следующие функции:
- Travis будет запускать ваши тесты для каждого нажатия на вашем репо
- Travis будет запускать ваши тесты на каждый вкладчик, получающий запрос на тягу.
Ответ 2
Я работал как с Трэвисом, так и с Дженкинсом: я перечислю некоторые из функций обоих:
-
Настройка CI для проекта:
Тревис: выходит на первое место. Он очень прост в настройке. Требуется меньше минуты для настройки с github. - Войти в github - создать веб-крюк для Travis - вернуться в Travis (https://travis-ci.org/) - войти в систему с учетными данными github и синхронизировать репозиторий github и разрешить запросы Push и Pull, Очень простая настройка в Тревисе.
Дженкинс: создать среду (Мастер Дженкинс) - создать веб-крючки - конфигурации на каждом задании (требуется время, сравнимое с Travis)
-
Повторно запустите сборки:
Travis: у кого когда-либо есть доступ на запись в github, они могут повторно запустить сборку, нажав restart build
Дженкинс: перезапустите сборку на основе фразы: укажите текст фразы в описании PR/фиксации, например reverify jenkins
-
Управляющая среда:
Travis: Travis предоставляет размещенную среду, Travis устанавливает требуемые программные средства для каждой сборки - это трудоемкий процесс.
Jenkins: это обычная настройка, установите все необходимые программы в node/slave machine и выполните все тесты в предустановленной среде.
-
Журналы сборки:
Travis: Поддерживает журналы сборки для размещения на Amazon S3.
Jenkins: легко настраивается с помощью плагина build artifacts.
Ответ 3
Я бы предложил Travis для проекта с открытым исходным кодом. Это просто настроить и использовать.
Простые шаги для настройки:
- Должна иметь GITHUB учетную запись и зарегистрироваться в веб-сайте Travis CI с использованием вашей учетной записи GITHUB.
- Добавьте
.travis.yml
файл в корневой каталог вашего проекта. Добавьте Travis как сервис на странице настроек вашего репозитория.
Теперь каждый раз, когда вы вносите в свой репозиторий, Travis будет строить ваш проект. Вы можете выполнить простые шаги для начала работы с помощью Travis CI.