Skip to content

Releases and deployments

A release is an immutable snapshot of what you intend to deploy: the version (semver or opaque), the service, a channel, the artifacts (name to version or digest), a variables snapshot, provenance (which run, which commit, which attestations) and release notes.

Immutability is the point. Once created, a release’s artifacts and variables cannot change, so “what is in production” is always answerable and a rollback to a previous release restores exactly what ran before.

Create releases from a pipeline (slipway/release-create@v1), from the UI, or from the CLI:

Terminal window
slipway release create api 1.4.0 \
--run run_01H... \
--artifact image=ghcr.io/acme/api@sha256:abc...

A lifecycle is an ordered list of phases. Each phase is an environment plus options such as auto_promote and min_soak. A channel is a rule set, usually a version pattern, that maps releases to a lifecycle. For example stable follows dev, staging, production and beta follows dev only. See Lifecycles and channels.

A deployment is a release applied to an environment: release x environment x strategy. It records the infrastructure used, the strategy and its config, a list of strategy steps with status and metrics, what triggered it (run, promotion, manual or rollback), the previous deployment, and timing.

Statuses: pending, waiting_approval, waiting_window, in_progress, verifying, paused, succeeded, failed, rolled_back, cancelled.

recreate, rolling, bluegreen, canary and progressive (multi-region). See Strategies.

An approval collects decisions (user, decision, comment, channel: web, Slack, Teams or API). A gate is a condition to pass before or during a deployment: manual, policy, window, change_ticket or metric. See Approvals and Gates.

During a canary, a verification run queries a metric provider at intervals, compares results to thresholds and produces a verdict that continues or rolls back the deployment. See Canary verification.

Promotion moves a release to the next phase of its lifecycle, by one click or automatically after a successful deployment and soak. Rollback redeploys any earlier release. The deployment diff shows what changed between two releases: images, config, commits and tickets.

A runbook is a parameterised operational procedure (restart, scale, migrate, flush cache) written in pipeline-step syntax and run against an environment with the same RBAC and approvals as a deployment. See Runbooks.