Here are the basic precepts of the practice:
- We assume that the thing being deployed, the deployment bundle, is represented as files and folders.
- Physically moving the deployment bundle to the deployment target (the runtime environment) is a distinct step from activating a particular version.
- The deployment target will, at any given time, contain multiple versions of the same deployment bundle:
- old versions that used to be in production
- old versions that never made it to production
- the current production version
- future versions that are very close to production ready
The current or default version can be accessed via a version independent url:
- Changing the default version from an older to a newer version is called a rollout.
- Changing the default version from a newer to an older version is called a rollback.