Ответ
- Линтинг кода (ESLint, Stylelint) для проверки стиля и ошибок
- Тестирование (unit, интеграционные, e2e тесты)
- Сборка проекта (проверка что билд проходит без ошибок)
- Проверка зависимостей (npm audit, проверка уязвимостей)
- Деплой на staging (автоматический после успешного прохода всех этапов)
- Артефакты сборки (сохранение билда для дальнейшего использования)
Пример конфига для GitHub Actions:
name: CI Pipeline
on: [push]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm ci
- run: npm run lint
test:
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm ci
- run: npm test
build:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm ci
- run: npm run build