Краткое руководство по настройке сборочных сред CI/CD и автоматического развёртывания с помощью CircleCI.
Этапы жизненного цикла пайплайна
machine: Настройка базового образа VM, операционной системы и версии языка.checkout: Клонирование git-репозиториев и инициализация подмодулей (submodules).dependencies: Восстановление кэшированных библиотек и установка зависимостей проекта.database: Развёртывание таблиц тестовой базы данных и загрузка схем.test: Запуск модульных, функциональных и интеграционных тестов.deployment: Доставка успешно прошедших сборку артефактов на staging или production.
Пример конфигурации
version: 2.1
executors:
node-executor:
docker:
- image: cimg/node:18.16.0
- image: cimg/postgres:14.2
environment:
POSTGRES_USER: ubuntu
POSTGRES_DB: app_test
POSTGRES_PASSWORD: ""
jobs:
build-and-test:
executor: node-executor
steps:
- checkout
- restore_cache:
keys:
- v1-deps-{{ checksum "package-lock.json" }}
- v1-deps-
- run:
name: Установка зависимостей
command: npm ci
- save_cache:
key: v1-deps-{{ checksum "package-lock.json" }}
paths:
- ~/.npm
- run:
name: Запуск модульных тестов
command: npm test
workflows:
build-pipeline:
jobs:
- build-and-test