Дженкінс проти Травіс-Сі. Який би ви використали для проекту з відкритим кодом? [зачинено]


270

Для свого проекту мені потрібно вибрати між Дженкінсом і Тревісом-СІ. Я використовую Jenkins протягом багатьох років, але також читав хороші відгуки про Travis-CI.

Який би ви використали для проекту з відкритим кодом? Які основні переваги або переваги обох?

Відповіді:


293

Тревіс-ци та Дженкінс, хоча обидва є інструментами для постійної інтеграції, дуже відрізняються.

Travis - це розміщена послуга (безкоштовна для відкритого коду), коли вам потрібно розмістити, встановити та налаштувати Дженкінс.

У Тревіса немає роботи, як у Дженкінса. Команди, які потрібно виконати для тестування коду, взяті з файлу з іменем, .travis.ymlякий розташований уздовж коду проекту. Це полегшує наявність різного тестового коду для кожної гілки, оскільки кожна гілка може мати власну версію файлу .travis.yml.

Ви можете мати подібну функцію з Jenkins, якщо використовуєте один із наступних плагінів:

  • Travis YML Plugin - попередження: не здається популярним, напевно, не є повноцінним порівняно з реальним Travis.
  • Джервіс - модифікація Дженкінса, щоб змусити її читати створювати завдання з .jervis.ymlфайлу, знайденого в корені коду проекту. Якщо .jervis.ymlйого не існує, він перейде до .travis.ymlфайлу.

Є й інші розміщені послуги, які ви також можете розглянути для постійної інтеграції (не вичерпний список):


Як вибрати?

Можливо, ви захочете залишитися з Дженкінсом, оскільки ви з цим знайомі або не хочете залежати від третьої сторони для вашої системи безперервної інтеграції. В іншому випадку я б кинув Дженкінса і поїхав з одним із безкоштовних розміщених сервісів CI, оскільки вони заощадять вам багато клопоту (хостинг, установка, налаштування, підготовка робочих місць)

Залежно від того, де розміщується ваше сховище коду, я б зробив такі варіанти:

  • власний дім → Дженкінс або Гітлаб-ци
  • Github.com → Travis-CI

Щоб налаштувати Travis-CI на проект github, все, що вам потрібно зробити, це:

  • додати файл .travis.yml у корінь проекту
  • створити обліковий запис на travis-ci.com та активувати проект

Ви отримуєте такі функції:

  • Travis запустить ваші тести для кожного натискання на ваш репо
  • Travis запустить ваші тести на кожен запит, який подають учасники

25
З мого досвіду, використання Дженкінса над Тревісом також позбавить вас від багатьох клопотів ( .travis.yml!) У мене є кілька проектів github, для яких я запускаю свої власні Дженкінси, і не шкодую про це. Якщо у вас є можливість запустити свій власний Дженкінс, я б дуже рекомендував цей варіант. Приємно мати 100% контроль над CI-середовищем.
Саймон Форсберг

21
Плагін Jenkins Pipeline (який призначений для заміни проектів у вільному стилі в більшості ситуацій) дозволяє розмістити в файлі (типово з назвою "Jenkinsfile") у вашому проекті канальний конвеєр конвеєра, що дозволяє йому мати ті самі функції, про які йдеться у Тревіс-CI вище, з цим додатковим бонусом за підтримку команди Дженкінса.
KhainTCore

48

Я працював над Тревісом і Дженкінсом: перерахую деякі особливості обох:

Налаштування CI для проекту

Тревіс виходить на перше місце. Це дуже просто налаштувати. На налаштування за допомогою GitHub потрібно менше хвилини.

  1. Вхід у GitHub
  2. Створіть веб-гачок для Тревіса ( редагувати:
  3. Поверніться до Travis та ввійдіть у систему за допомогою своїх облікових даних GitHub
  4. Синхронізуйте репортаж у GitHub та ввімкніть запити Push and Pull.

Дженкінс:

  1. Створіть середовище (майстер Дженкінс)
  2. Створіть веб-гачки
  3. Налаштування кожної роботи (потрібен час порівняння з Travis)

Повторне виконання збірок

Travis: Кожен, хто має доступ до запису на GitHub, може запустити збірку, натиснувши на `перезапустити збірку

Дженкінс: Повторно запускається на основі фрази. Ви надаєте текст фрази в описі PR / виконувати, наприклад reverify jenkins.

Контролюючи середовище

Travis: Travis забезпечує розміщене середовище. Він встановлює необхідне програмне забезпечення для кожної збірки. Це трудомісткий процес.

Дженкінс: Одноразова установка. Встановлює все необхідне програмне забезпечення на вузол / підлеглий апарат, а потім будує / тестує на попередньо встановленому середовищі.

Створення журналів:

Travis: Підтримка складання журналів для розміщення в Amazon S3.

Дженкінс: Простий в налаштуванні за допомогою плагіну збірки артефактів.


Скажіть, будь ласка, що таке S3?
Пуджа

@Pooja Amazon S3
adrianN

30

Я б запропонував Travis для проекту з відкритим кодом. Конфігурувати та використовувати це просто.

Прості кроки для налаштування:

  1. Потрібно мати обліковий запис GITHUB та зареєструватися на веб-сайті Travis CI, використовуючи ваш обліковий запис GITHUB.
  2. Додайте .travis.ymlфайл у корінь свого проекту. Додайте Travis як сервіс на сторінці налаштувань сховища.

Тепер кожен раз, коли ви вступаєте у своє сховище, Travis будуватиме ваш проект. Ви можете дотримуватися простих кроків, щоб розпочати роботу з Travis CI.


7
Застереження щодо використання Travis CI для відкритого коду: він виконує свої збірки та тести на Linux або OSX, а не на Windows. Отже, якщо ваш проект, скажімо, .NET або PowerShell, його потрібно буде написати в кросплатформенній версії .NET (або Mono, або .NET Core) або PowerShell (PowerShell Core), щоб ви могли використовувати Travis CI . Більш зручним для Windows інструментом CI є Appveyor ..
Simon Tewsi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.