Environments
Define environment and explain its componentsAn "Environment" refers to a single installation of a WordPress instance, complete with its dedicated codebase, database, media library, settings, permissions, and vanity domain. Each project consists of multiple environments exposed on different vanity domains aimed to serve different versions of one website.
This setup allows for multiple versions of the same website without affecting the visitor's experience. Within a single project, it's common to create multiple environments to:
- Test new functions and website behaviour (typically referred to as "dev" or "feature" environments),
- Ensure a website is ready for public release (often termed "staging" environments), and
- Present internet-facing websites to all visitors (commonly known as the "production" environment).
While some projects may necessitate additional environments to test various combinations of codebase and data, SiteBox provides the flexibility to create more than just the standard develop, staging, and production environments. Their number is limited by the project plan.
Every environment is linked to a git repository derived from the project. However, each of them can be associated with a distinct branches from that repository.
Environment components
Each environment, essentially representing a unique installation of WordPress, comprises three major components:
- Codebase – these are the actual files containing the logic required to run a website. Each environment's codebase
encompasses the
wp-content
directory and is sourced either from a git branch or from a ZIP package (typically resulting from a CI flow). - Database – a dynamically linked database that stores the dynamic data of a WordPress instance.
- Media Library – a dynamically linked object storage that's mounted as a filesystem to the WordPress instance.
SiteBox allows for a mix-and-match approach to environment components, either during the deployment process or when creating a new environment.
Environment configuration
The SiteBox Dashboard features a dedicated section for environment configuration. Since an environment is effectively considered an independent WordPress instance, most settings are applied at the environment level.