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, вы можете копнуть глубже с документами
Последние слова
Хотя мой контент бесплатен для всех, но если вы найдете эту статью полезной, вы можете купить мне кофе здесь