Software आमतौर पर कई environments के माध्यम से deploy किया जाता है — जैसे development, staging, और production — प्रत्येक code से live users तक के मार्ग में एक उद्देश्य पूरा करता है। environments के माध्यम से code को promote करना वास्तविक users तक पहुंचने से पहले issues को पकड़ता है।
विशिष्ट environments
DEVELOPMENT (dev) → where developers build and test (local or a shared dev environment);
unstable, frequent changes, experimentation
STAGING (test/QA/pre-prod) → a PRODUCTION-LIKE environment for final testing:
→ mirrors production (same config/infrastructure as closely as possible)
→ run integration/E2E tests, QA, UAT before releasing
→ catch issues in a safe, prod-like setting BEFORE real users see them
PRODUCTION (prod) → the LIVE environment serving real users:
→ stability is critical; changes are careful and monitored
