CI или непрерывная интеграция — это практика разработки программного обеспечения, при которой выполняются автоматизированные тесты и сборка.

Разработчики вносят изменения в код каждый день, несколько раз в день. Для каждой отправки в репозиторий вы можете создать набор скриптов для автоматической сборки и тестирования вашего приложения. Эти сценарии помогают снизить вероятность появления ошибок в приложении.

Сегодня я напишу простое руководство о том, как написать GitLab CI для внешнего приложения, которое состоит из 3 основных шагов:

  • Установить зависимости
  • Сборка пакетов
  • Запуск модульных тестов

Во-первых, давайте создадим файл .gitlab-ci.yml и введем изображение для CI и рабочего процесса.

Ключевое слово image — это имя образа Docker, который исполнитель Docker использует для запуска заданий CI/CD. В руководстве я установил image на node:16, что означает, что проект будет выполняться на узле версии 16.

А workflow должен управлять созданием пайплайнов. Я установил правила, поэтому конвейер создается только тогда, когда пользователь фиксирует или создает запросы на слияние (но не в ветке main)

Это остальная часть файла .gitlab-ci.yml. Я объясню часть cache позже. Сначала мы должны определить 3 этапа для нашего конвейера, которые являются прямыми.

Для каждого этапа мы должны определить stage и script. Если вы знакомы с yarn , их очень легко понять:

  • yarn для установки необходимых зависимостей
  • yarn build строить по проекту
  • yarn test:jest это мой скрипт для запуска jest с моими флагами

interruptible позволяет пользователям прервать этап.
Хорошо, теперь мы закончили, давайте посмотрим на конвейер, работает ли он правильно.

Не беспокойтесь о работе Vercel, если вы не используете Vercel.

Теперь, чтобы понять, как работает часть cache выше, давайте посмотрим на работу install_dependencies.

Это занимает почти 19 секунд, чтобы закончить. Но это только в первый раз, определив cache для node_modules

И это результат для более позднего конвейера:

Меньше секунды, это впечатляет, верно? Не беспокойтесь, если вы добавите новые зависимости, задание install-dependencies разберется с этим.

Это просто базовое руководство о том, как написать GitLab CI, вы можете добавить больше заданий, больше правил или с другими изображениями, просто найдите лучший способ написать свой CI Pipeline, вы можете копнуть глубже с документами

Последние слова

Хотя мой контент бесплатен для всех, но если вы найдете эту статью полезной, вы можете купить мне кофе здесь