mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-29 01:15:48 +02:00
103 lines
4.8 KiB
Plaintext
103 lines
4.8 KiB
Plaintext
---
|
|
title: Release management
|
|
---
|
|
|
|
:::note Availability
|
|
|
|
**Plan**: [Enterprise](https://www.getunleash.io/pricing) cloud-hosted | **Version**: `6.8+` in [BETA](/availability#beta-features).
|
|
|
|
:::
|
|
|
|
<details>
|
|
<summary>Share your feedback</summary>
|
|
|
|
We're currently gathering feedback for release templates and release plans.
|
|
|
|
To provide feedback using the Admin UI, go to **Configure > Release management**, and click **Share your feedback**.
|
|
|
|
Future iterations of the feature may include:
|
|
- An overview of ongoing releases and currently running milestones
|
|
- Automated transitions between different milestones
|
|
</details>
|
|
|
|
|
|
## Overview
|
|
|
|
[Release templates](#release-template) help you standardize your approach to rolling out new features. By predefining a set of release milestones, you can ensure consistency across all your feature rollouts.
|
|
|
|
Instead of manually configuring the same [activation strategies](/activation-strategies#rollout-percentage) across different feature flags, you can define release templates once, and apply them to any feature flag to initiate a rollout.
|
|
|
|
[Milestones](#milestone) rely on activation strategies to give you full flexibility when it comes to customizing your release templates. Each milestone executes sequentially, ensuring a structured release process.
|
|
|
|
For example, you might define 3 milestones for a release:
|
|
- **Milestone 1**: Enable the feature for internal teams to test functionality and resolve initial issues.
|
|
- **Milestone 2**: Expand the rollout to 20% of beta users to gather feedback and monitor performance.
|
|
- **Milestone 3**: Release the feature to all users after confirming stability and addressing earlier feedback.
|
|
|
|
#### Release template
|
|
|
|
A predefined sequence of [milestones](#milestone) that structures a feature release.
|
|
|
|
#### Milestone
|
|
Sequential stages within a [release template](#release-template). Each milestone must contain at least one [activation strategy](/activation-strategies#rollout-percentage), which determines when a feature flag is enabled.
|
|
You can combine multiple activation strategies in a single milestone. Unleash evaluates each strategy independently, enabling the flag if any strategy resolves to true.
|
|
|
|
#### Release plan
|
|
|
|
An instance of a [release template](#release-template) applied to a specific feature flag in a specific environment. You can combine a release plan with additional activation strategies.
|
|
|
|
## Create a release template
|
|
|
|
To create a release template, do the following:
|
|
|
|
1. In the Admin UI, go to **Configure > Release management**, and click **New template**.
|
|
2. Enter the template name and an optional description.
|
|
3. For the first milestone, click **Add strategy**.
|
|
4. Choose a strategy type and configure your [rollout percentage](/activation-strategies#rollout-percentage), [targeting](/activation-strategies#targeting), and [variants](/reference/strategy-variants).
|
|
5. Click **Add strategy**.
|
|
6. Optional: Add, rename or reorder milestones as needed.
|
|
7. Click **Create template**.
|
|
|
|
## Configure a gradual rollout with release templates
|
|
|
|
Milestones are designed to be flexible and do not inherit the configurations of previous milestones. To build a gradual rollout where each milestone expands on the previous one, you must manually configure the progression of the constraints.
|
|
|
|
For example, suppose you want to structure your rollout as follows:
|
|
- **Milestone 1**: Enable the feature for 50% of users on the *Basic* plan.
|
|
- **Milestone 2**: Keep the same 50% of *Basic* users from Milestone 1 and add 25% of *Premium* users.
|
|
|
|
To achieve this, you need to configure Milestone 2 with both constraints:
|
|
- A 50% *Basic* users constraint.
|
|
- A 25% *Premium* users constraint.
|
|
|
|
The configuration would look something like this:
|
|
|
|

|
|
|
|
## Apply a release template to a feature flag
|
|
|
|
To apply a release template to a feature flag, do the following:
|
|
|
|
1. In the Admin UI, open a feature flag and select your target environment.
|
|
2. Click **More strategies** (triple-dot icon) and select one of the available release templates.
|
|
3. Click **Add release plan**.
|
|
|
|
If the environment is enabled, the first milestone starts automatically.
|
|
|
|
## Perform a release using a release plan
|
|
|
|
Release plans apply per feature and environment. To add a release plan, [apply a release template](#apply-a-release-template-to-a-feature-flag).
|
|
|
|
### Start the release
|
|
If the environment is enabled, the first milestone begins automatically upon adding the release plan. Otherwise, enable the environment to start the first milestone.
|
|
|
|
### Pause the release
|
|
Pause the release at any time by disabling the environment for the feature flag.
|
|
|
|
### Progress to the next milestone
|
|
To progress to the next milestone, click **Start** on the milestone you want to run.
|
|
|
|
### Revert to a previous milestone
|
|
|
|
To return to a previous stage of the rollout, click **Restart** on the milestone you want to revert to.
|