Deployment vs release: what is the difference?
Short answer: a release is a versioned, deployable artifact; a deployment is the act of putting that artifact into a running environment. A release happens once per version; the same release can be deployed many times, to many environments.
Release
A release is the creation of a deployable artifact with a specific tag, usually a semantic version tag (v2.4.1, a Docker image digest, a build number). Tagging the artifact once means every later step — integration tests, staging, production — runs against the exact same bytes, so "it passed in staging" and "it is running in production" refer to one identical thing.
Deployment
A deployment is where we take that artifact and configure the target environment (test, staging, production) to run it. This includes updating the running instances/containers/servers to the chosen version/tag, and it can happen more than once for the same release — you might deploy v2.4.1 to staging on Monday and to production on Wednesday without creating a new release in between.
Deployment vs release, at a glance
- What it produces — Release: a versioned artifact. Deployment: that artifact running somewhere.
- How often it happens — Release: once per version. Deployment: once per environment, and can repeat.
- What can go wrong — Release: the build/packaging step, or a bad version tag. Deployment: environment config, rollout strategy, or infrastructure.
- How you undo it — Release: cut a new version. Deployment: roll back to the previous version already released.
This split is also why "deploy" and "release" are not always the same moment for end users: you can deploy code to production behind a feature flag (deployed, not released to users) or roll a release out gradually via canary or blue-green deployment (see What is blue-green deployment?). For how this fits into the wider pipeline, see What is a software deployment pipeline?, and for what to watch once a deployment is live, see What DevOps metrics should you track to measure deployment health?.