Local Machine

We have 2 env files,

.env: Used for running the application.

.env.test: Used for running specs.

The test environment uses a separate database, so when we reset the data during each test, we don’t modify our local data.

Deployment

We have 3 environments

dev: This is your development flow, the most common.

test: This is triggered during pre-push checks locally before git push. Since dev servers may be running, we use a different port for test.

ci: This is run on CircleCI. Uses same port as test, but we give it a separate name because some other configs may be different.