mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-24 01:18:01 +02:00
104 lines
5.0 KiB
Plaintext
104 lines
5.0 KiB
Plaintext
---
|
|
title: Release templates
|
|
---
|
|
|
|
:::note Availability
|
|
|
|
**Plan**: [Enterprise](https://www.getunleash.io/pricing) cloud-hosted | **Version**: `6.8+` in [BETA](/availability#beta-features).
|
|
|
|
:::
|
|
|
|
<details>
|
|
<summary>Participate in the beta program</summary>
|
|
|
|
Release templates are currently in beta. If you're interesting in trying the feature out, please contact us at beta@getunleash.io.
|
|
|
|
Future iterations of the feature may include:
|
|
- An overview of ongoing releases and currently running milestones across all projects
|
|
- Automated transitions between different milestones
|
|
- Reporting on release templates
|
|
</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](/reference/activation-strategies) 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](/reference/activation-strategies), 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
|
|
|
|
> Note: For this action, you must be an Editor or have a custom root role with [release templates permissions](/reference/rbac#release-template-permissions).
|
|
|
|
To create a release template, do the following:
|
|
|
|
1. In the Admin UI, go to **Configure > Release templates**, 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 [strategy](/reference/activation-strategies).
|
|
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 strategies and their 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:
|
|
1. Create Milestone 1 with a strategy to target the 50% of _Basic_ plan users.
|
|
2. Create Milestone 2 and keep the '50% _Basic_ plan' strategy. Add a new strategy to target 25% _Premium_ plan users.
|
|
|
|
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 **Use template** 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.
|