Ответ
В проекте выделяют несколько ключевых окружений, каждое со своей целью:
-
Development (Dev) — локальные среды разработчиков, где пишется и тестируется код. Пример: Docker-контейнер с БД и сервисом.
-
Testing (Test/QA) — изолированная среда для ручного/автотестирования. Часто разворачивается автоматически (например, через GitLab CI/CD).
-
Staging — максимально приближенная к Production среда для финального тестирования и демо. Использует production-like данные (но не реальные).
-
Production (Prod) — боевая среда для пользователей. Развертывается с максимальной отказоустойчивостью (Kubernetes, балансировка нагрузки).
-
Pre-production (Pre-Prod) — иногда используется для канареечного развертывания (Canary Deployments) или A/B-тестов.
Пример настройки в CI/CD (GitLab):
deploy_to_stage:
stage: deploy
environment:
name: staging
url: https://staging.example.com
script: ./deploy.sh