Website Environment Structure

Throughout the lifecycle of a website, there are several different environments where the site lives and people access.

Local

An installation of the site on a developer's workstation, accessible only by the developer. This site is used for actively writing and testing code. Once a new feature is considered complete by the developer, they utilize the 829 Git Workflow to commit and merge their code into the dev branch, which is automatically deployed to the dev site.

A typical domain structure looks like client-domain.local.

Dev

An in-progress development environment where new code may be tested and verified before moving it the the staging environment. In a normal scenario, commits merged into the dev branch will built and auto-deployed to the dev environment. In almost all circumstances, only developers should be accessing this site. The dev site environment should NEVER be shared to a client.

Domain should be structured as client-domain.829dev.com.

Stage

Represents the pre-release version of a site. Production, QA, and UAT should occur on this environment. This is the site that most 829 teams will access. Client demo and feedback should be done using the stage site. In a normal scenario, commits merged into the stage branch will built and auto-deployed to the stage environment.

Domain should be structured as client-domain.829stage.com.

Production

The live website. The big show. This is the public environment that site visitors see. Commits merged into the main branch require manual deployment. Under no circumstances should any branch automatically deploy to the production environment.