The deployment process#
A deployment is made up of several conceptual steps, deliberately not one-to-one with the CLI commands: one command may run several steps, and some are never exposed as a command of their own. For the commands themselves see the CLI reference.
Step |
Description |
Run by |
|---|---|---|
Compare |
Compare the current deployment snapshot against the modulefiles and built modules that actually exist, confirming the deployment area is healthy. |
|
Validate |
Diff the new configuration against the current snapshot to determine the set of actions to take, and check those actions are permitted by the release lifecycle. |
|
Build |
Generate entrypoint scripts, configuration files and environment variables for each changed Module, writing them to the build area. |
|
Deploy |
Move the built Modules from the build area into the Modules Area, link each modulefile into the live or deprecated tree according to its status, and update default versions. |
|
Why build and deploy are not separate commands#
There is no standalone build or deploy command. sync always runs them together, so
a half-built Module is never exposed to users: either a version is built and linked into
place, or nothing changes.
How the steps fit together#
sync is the only step that writes to the deployment area; compare and validate are
read-only checks run before it. See
snapshots and the compare safety net for how the snapshot
ties them together, and drive deploy-tools from CI for the
order a pipeline runs them in.