Product delivery
Channels, lock and rollback
Release versions through dev, beta and stable, and control what installs receive.
Release management decides which installs receive a version, and when.
Release channels
Every version is released to one channel: dev, beta or stable. Channels nest:
| Install channel | Receives versions on |
|---|---|
stable | stable |
beta | beta and stable |
dev | dev, beta and stable |
A new install takes the newest version its channel can see. Upgrade available on an install also follows its channel.
Promote or pull back
In Details, each version has a channel selector. Move a version from dev to beta to stable as it proves itself, or pull it back to a less stable channel if it misbehaves. Installs that no longer see the version are not downgraded; they simply stop being offered it.
Lock an install
The Lock switch on an install stops all upgrades, manual and automatic, until it is unlocked. Use it to freeze a production project during an incident or an audit. Locking and unlocking need the editor role on the install's project, since they decide what reaches that project.
Roll back
Change version on an install moves it to any other version its channel can see, including an older one. Choosing a lower version is a rollback: the install's resources are rewritten from that version. Upgrading without choosing a version only ever moves forward.
API
| Method | Path | Requires |
|---|---|---|
| PUT | /api/v2/products/{id}/versions/{version}/channel | product:write |
| PUT | /api/v2/products/installs/{installId}/lock | product:install and editor on the project |
| POST | /api/v2/products/installs/{installId}/upgrade | product:install |
The upgrade body takes an optional toVersion; a lower toVersion is a rollback.