Comparison
Artefact promotionvsDeployment
Artefact promotion
the same version moves from staging to production by changing a reference, and no build runs to make that happen.
Advancing a specific artefact version through a sequence of environments as it earns confidence. It makes the question 'what is in production' answerable and gives rollback an obvious target — the version that was there before. Where promotion is implemented as a rebuild from a branch, none of those properties hold, which is the main practical reason branch-per-environment schemes go wrong.
Full entry →Deployment
you put the new build on the servers, which is a completely separate event from anybody actually using the new behaviour.
Moving a build into an environment. It is a technical act, reversible and low-drama when the code is deployed dark. Conflating it with release is what makes shipping scary, because it forces every change to be exposed the moment it lands.
Full entry →