Ответ
CI/CD pipeline — это автоматизированная последовательность шагов для сборки, тестирования и развертывания кода. Его цель — обеспечить быструю и надежную доставку изменений в production.
Типичные этапы pipeline:
- Сборка (Build) — компиляция исходного кода, установка зависимостей.
# Пример шага в GitLab CI build-job: script: - npm install - npm run build - Тестирование (Test) — запуск модульных, интеграционных и других тестов.
test-job: script: - npm run test:unit - npm run test:e2e - Статический анализ (Lint/Security Scan) — проверка кода на уязвимости и соответствие стандартам.
- Деплой (Deploy) — развертывание артефакта в тестовую или production-среду.
deploy-job: script: - scp ./dist user@server:/var/www/app
Ключевые принципы:
- Автоматизация: Все шаги выполняются автоматически при push в репозиторий.
- Раннее обнаружение ошибок: Проблемы выявляются на этапе сборки или тестирования, а не в production.
- Воспроизводимость: Каждый запуск pipeline изолирован и использует одинаковое окружение (часто через Docker).
- Отчетность: Pipeline предоставляет четкий лог выполнения и уведомления об успехе/провале.
На практике pipeline настраивается в файлах конфигурации (.gitlab-ci.yml, Jenkinsfile, GitHub Actions Workflow) и выполняется на серверах CI/CD (GitLab Runners, Jenkins agents).