Що таке ДІ?
Постійна інтеграція - це метод розробки програмного забезпечення, коли члени команди можуть інтегрувати свою роботу принаймні раз на день. У цьому методі кожна інтеграція перевіряється автоматичною збіркою для пошуку помилки. Концепція ІР була вперше представлена понад два десятиліття тому, щоб уникнути "інтеграційного пекла", що трапляється, коли інтеграція відкладається до кінця проекту.
У цьому підручнику ви дізнаєтесь
- Що таке ДІ?
- Що таке Тревіс CI?
- Що таке Дженкінс?
- Що робить Тревіс?
- Що зробив Дженкін?
- Тревіс CI Особливості:
- Особливості Дженкіна:
- Тревіс проти Дженкінса
- Індекс популярності
- Який краще?
Як працює CI?
- Розробники пишуть код і фіксують зміни у спільному сховищі
- Після цього сервер CI відстежує сховище та оцінює всі зміни
- CI будує систему та проводить інтеграцію та модульні тести
- Сервер випускає розгортаючі артефакти
- Сервер постійної інтеграції призначає тег збірки версії та будівельному коду
- Потім сервер CI повідомляє команді про успішну збірку. Якщо тести не вдаються, сервер попереджає про подію команду розробників. Команда вирішить проблеми якомога швидше.
КЛЮЧОВА РІЗНИЦЯ
- Travis CI є комерційним інструментом CI, тоді як Jenkins - інструментом з відкритим кодом.
- Тревіс CI займає зовсім менше часу, щоб розпочати роботу, тоді як Дженкінс потребує детальної настройки.
- Travis CI пропонує менше можливостей налаштування, тоді як Jenkins пропонує широкі можливості налаштування.
- Travis CI має файл конфігурації YAML, тоді як Дженкінс надає користувачеві повний варіант конфігурації.
Що таке Тревіс CI?
Тревіс CI був першим CI як інструментом обслуговування. Він представив новий підхід до побудови коду в хмарі. Цей інструмент CI дозволяє користувачеві зареєструватися, пов’язати свій репозиторій, побудувати, а також протестувати свої програми.
Інструмент Travis CI може легко інтегруватися із загальними хмарними сховищами, такими як GitHub та Bitbucket. Він пропонує безліч автоматизованих опцій CI, які виключають потребу у виділеному сервері, оскільки сервер Travis CI розміщений у хмарі. Це дозволяє тестувати в різних середовищах, на різних машинах, що працюють на різних операційних системах.
Travis CI є безкоштовним для проектів з відкритим кодом. Для комерційних проектів потрібно придбати план підприємства.
Що таке Дженкінс?
Jenkins - це відзначений нагородами інструмент безперервної інтеграції, який контролює виконання циклів розгортання. Він розпочався як допоміжний проект групи інженерів програмного забезпечення Sun. Пізніше він був розширений як один з популярних інструментів CI з відкритим кодом, який допомагає командам розробників програмного забезпечення автоматизувати їх розгортання.
Jenkins - це інструмент на основі Java, що означає, що для його роботи вам потрібно лише середовище виконання Java. Отже, Jenkins можна встановити в будь-якій операційній системі, де працює Java.
У цьому інструменті розробники можуть також вказати умови для індивідуальних збірок. Дженкінс підтримує масивний архів плагінів. Це дозволяє розробникам змінити вигляд і діяльність Дженкіна.
Більше того, набір плагінів Jenkins Pipeline постачається зі спеціальними інструментами, які дозволяють розробникам моделювати складні конвеєри доставки за допомогою методу DSL (Digital Subscribe line).
Що робить Тревіс?
Travis CI пропонує наступні переваги:
- Ви можете контролювати проекти GitHub
- Запускає тестування та швидко генерує результати. Можливе паралельне виконання тесту.
- Створюйте артефакти та перевіряйте якість коду
- Простота розгортання хмарних служб
- Він може ідентифікувати як незначні, так і великі зміни коду.
- Розробники можуть використовувати Travis CI, щоб спостерігати за тестами під час запуску.
- Інструмент інтегрується з Slack, HipChat, Email тощо.
Що робить Дженкін?
Jenkins дозволяє автоматизувати ваші завдання зі створення, тестування та розгортання. Інструмент забезпечує підтримку різних ОС, таких як Windows, Mac OSX та Linux.
Більше того, Дженкінс дає вам можливість швидко створювати та тестувати свій код, щоб отримати швидкий відгук про те, готовий він до виробництва чи ні. У більшості випадків Дженкін потребуватиме кількох модифікацій відповідно до власних вимог вашої команди.
Тревіс CI Особливості:
- Автоматична інтеграція з GitHub
- Доступ до сховища для побудови запитів на витягування
- Підтримка 21 мови, таких як Android, C, C #, C ++, Java, JavaScript (з Node.js), Perl, PHP, Python, R, Ruby тощо
- Попередньо встановлені інструменти побудови та тестування
- Доступні послуги - бази даних, черги повідомлень тощо.
- Розгортання на декількох хмарних послугах
- Шифрувати змінні або файли захищеного середовища
- Віртуальні машини відтворюються після кожної збірки
- Клієнт CLI та API для сценаріїв
- Поставляється з безкоштовним хмарним хостингом, який не потребує обслуговування або адміністрування.
Особливості Дженкіна:
- Простота установки, оновлення та налаштування
- Розподілені збірки
- Моніторинг зовнішніх робочих місць
- Більше 600 плагінів для налаштування середовища Jenkins
- Понад 1000 + загальнодоступних сховищ на Github, 500+ авторів, активна фіксація
- Підтримка різних методів автентифікації, систем контролю версій, повідомлень тощо.
- Дженкінс надає API віддаленого доступу та його функціональні можливості.
- Надайте потужний інструмент CI / CD для великих проектів
- Він підтримує різні моделі роботи, такі як Freestyle, Pipeline тощо.
- Дозволяє розробникам додавати свої розширення
- Сумісний з програмами Docker, Libvirt, Kubernetes та багатьма іншими
Тревіс проти Дженкінса
Параметр | Дженкін | Тревіс |
---|---|---|
Вартість | Дженкінс вільний. Але команді розробників потрібно запустити та підтримувати свій виділений сервер. Це можна вважати додатковими витратами. | Корпоративні апартаменти Travis CI стартують від 129 доларів на місяць. Збільшення витрат залежно від рівня підтримки, який вам потрібен. |
Налаштування часу | Дженкінсу потрібна детальна настройка. Тож у вас буде дуже довгий час очікування на повну установку. | Для початку потрібно дуже менше часу. Створіть конфігураційний файл і починайте інтеграцію. |
Продуктивність | Якщо ви шукаєте інструмент CI з необмеженими можливостями налаштування, то Дженкінс - найкращий вибір для вас. | Тревіс CI - найкращий вибір, якщо ви працюєте в проекті з відкритим кодом. |
Тип інструменту | Це безкоштовний інструмент із відкритим кодом. | Це комерційний інструмент CI |
Використання | Простий у використанні | Гнучка у використанні |
Github | Добре для Github | Відмінно підходить для Github |
Підтримка | Широка підтримка громади. | Обмежена підтримка громади. |
Плюси |
|
|
Мінуси |
|
|
Плани використання | Безкоштовно | Безкоштовно для проектів з відкритим кодом. Однак платно за підприємство. |
Серверна машина | Серверна | На основі хмари |
Параметри налаштування | Більше | Менше |
Конфігурація | Повністю настроюється | ЯМЛ |
Контроль за системою | Повна | Дуже менше |
Індекс популярності
Кількість запитань, позначених Дженкінсом і Тревісом у Stack Overflow.
Який краще?
Таким чином, з наведеним вище обговоренням, ми можемо зрозуміти, що Тревіс і Дженкінс пропонують чудові риси. Однак невеликі проекти з відкритим кодом найкраще підходять для Travis CI, оскільки їх легко запускати та швидко налаштовувати. З іншого боку, велике підприємство найбільше підходить Дженкінсу, оскільки воно пропонує безкоштовне ліцензування приватного проекту та широкий спектр налаштовуваних функцій. Отже, ми можемо сказати, що обидва ці інструменти безперервної інтеграції є хорошими в своєму плані.