CI/CD для JS розробників. Частина 2 | GlobalLogic Ukraine

CI/CD для JS розробників. Частина друга – практика

share
Автор: Інна Іващук, Senior Software Engineer, Engineering, Counsultant, GlobalLogic Ukraine

Продовжуємо розбиратись з СІ\CD аби покращити життя розробників. Першу частину про теоретичний огляд концепції можна прочитати за посиланням.

У цій частині ми глянемо на основні популярні інструменти CI/CD, які можна використати у розробці, і спробуємо швидко сконфігуруємо Travis CI (і, звісно, запустимо), і глянемо на GitHub Actions.

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

Плюси використання CI/CD практик

Для початку, глянемо, що нам потрібно, щоб почати використовувати СІ:

  • Написати автоматичні тести.
  • Сервер або сервіс, який буде слідкувати за основним репозиторієм, і буде запускати авто тести на кожен комміт, а це в свою чергу допоможе нам бачити статус та валідність коду.
  • Мерджити код якомога частіше, як мінімум один раз на день.

Що ми отримаємо?

  • Можливість відловити більшість помилок, оскільки тести, які перевіряють основну функціональність, інформують розробників, що щось пішло не так.
  • Пришвидшення релізу.
  • Набагато менше перемикань між задачами для розробника.
  • Можливість запускати велику кількість тестів на сервері, які будуть відпрацьовувати буквально за кілька хвилин.

Для того, щоб почати використовувати практику СD, потрібно:

  • Високе покриття коду тестами.
  • Деплоймент повинен відбуватися автоматично.
  • Використання додаткових flags, які дозволять нам приховувати незакінчений функціонал (наприклад Launch Darkly).

Що ми отримаємо?

  • Деплоймент веб додатку стане набагато простішим.
  • Можливість робити реліз набагато частіше.

Для того, щоб почати використовувати практику СD (continuous deployment), потрібно:

  • Різні типи автоматизованих тестів (integration, performance, acceptance і тд), написаних не лише розробниками, а і QA.
  • Документація, яку потрібно тримати в актуальному стані.
  • Додаткові flags, які допоможуть приховати незакінчені частини, які зараз в процесі розробки.

Що нам це дасть?

  • Повністю автоматизований реліз.
  • Не потрібно робити code freeze, через те, що реліз довго готується.
  • Відсутність ризиків, адже все продумано, налаштовано та сконфігуровано.
  • Задоволені користувачі, які бачать покращення кожного тижня або, навіть, кожного дня.
Easy start with Travis CI

А тепер саме час спробувати один з інструментів, а саме Travis CI. Для того, щоб розпочати роботу, нам потрібно:

  • Перейти на сайт travic-ci.com та авторизуватись використовуючи GitHub акаунт
  • Підтвердити авторизацію на travis-ci.com, після чого буде перенаправлення на GitHub.
  • Пройти декілька простих кроків та обрати репозиторій, до якого ми хочемо додати відстежування Travis.
  • Додати у вибраний репозиторій файл travis.yml, у якому ми напишемо буквально декілька рядків і таким чином, запустимо роботу CI.

А тепер до коду!

GitHub Actions: чому варто звернути на них увагу

GitHub Actions однозначно вартує вашої уваги, тому що вони:

  • Вбудовані в GitHub, через те інтеграція проходить надзвичайно швидко
  • Дозволяють мультиконтейнерити тестування. У GitHub є багато різних темплейтів для будь-яких типів Continuous Integration
  • Дозволяють створювати свої власні actions та публікувати їх на GitHub Marketplace
  • Абсолютно безкоштовні для open source репозиторіїв

Основні концепції GitHub Actions:

  • Actions – це найменші частинки описаної поведінки.
  • Events, до яких ми можемо прив’язуватись, такі як push, pull request, та виконувати певні задачі
  • Runners
  • Job
  • Steps
  • Workflow – це безпосередньо наш файл, в якому описані поступові кроки, які містять actions, job і steps.

Ось що потрібно, щоб підключити GitHub Actions до репозиторію: невеличкий відео-туторіал. 

Висновки

Повертаючись до заголовка статті, пора все-таки відповісти на запитання: CI/CD для JS – потрібен чи ні?

Звісно ж, так! Це дійсно дуже гаряча тема, про яку варто дізнатись більше, а головне спробувати застосувати на проєкт, як мінімум провести експеримент на своєму власному репозиторії.

Бажаємо вам успіхів, а якщо хочете більше корисних матеріалів – завітайте до нашого JS Community!

Thank You.

The white paper will open in a new window.

If you experience issues with accessing or downloading the white paper, please contact info@globallogic.com.

click here to go back to the Insights page.