No results for ""
EXPAND ALL
  • Home
  • API docs

GIVE DOCS FEEDBACK

Release pipelines

Read time: 13 minutes
Last edited: Jun 07, 2024
Release pipelines is an Enterprise feature

Release pipelines is available to customers on an Enterprise plan. To learn more, read about our pricing. To upgrade your plan, contact Sales.

Overview

This topic explains how you can use release pipelines to standardize and automate the release process for your feature flags. Release pipelines let you move flags through a series of phases, rolling out flags to selected environments and audiences following automated steps.

You can set up one or more release strategies for each phase, determining:

  • The environment to roll out to
  • The audience to roll out to within the environment, including either everyone or only selected segments
  • Whether approvals are required
  • Whether to use a guarded rollout to prevent regressions

When you add a flag to a release pipeline, LaunchDarkly will automatically perform the actions you set up as the flag moves through each phase.

A new release pipeline.
A new release pipeline.
Automated releases is available for boolean flags only

JSON, string, and number flags cannot be added to a release pipeline.

Each project can have up to 20 release pipelines. Click on Releases to view the release pipelines within a project:

The releases list.
The releases list.

When a flag is included in a release pipeline, you can view each phase in the pipeline on the flag targeting page in the right sidebar. To see the steps required for each phase, click the expand arrows for the phase:

An expanded phase in a release pipeline in a flag's sidebar with the expand arrows called out.
An expanded phase in a release pipeline in a flag's sidebar with the expand arrows called out.

You can also use the REST API: Get release for flag

Get started

You must upgrade from legacy release pipelines

If you began using release pipelines before May 21, 2024, you must upgrade from legacy release pipelines to release pipelines with automation. To learn how, read Release pipeline migration guide.

To get started with automated releases, you must:

  1. Create a release pipeline
  2. Set up the automation for each phase
  3. Add a flag to the pipeline
  4. Begin the release for the flag

Each of these steps is described below.

Create release pipelines

Creating release pipelines is an Admin-only feature

You can only create and delete release pipelines if you're a LaunchDarkly Admin or Owner, or have a custom role that allows the createReleasePipeline and deleteReleasePipeline actions. To learn more, read About member roles and Release pipeline actions.

You can create up to ten phases in a release pipeline.

To create a release pipeline:

  1. Navigate to Releases.
    • If you have a release pipeline set up for your project, the default release pipeline appears. Click the release pipeline name, and select Manage release pipelines.
  2. Click Create release pipeline.
  3. Click into the title field to update the name.
  4. (Optional) Click into the key field to update the automatically-generated key.
  5. (Optional) Click Add description to add a description for this release pipeline.
  6. (Optional) Click Add tags to choose from available tags.
  7. The release pipeline automatically includes two phases: Testing and Production.

You can then add additional phases as needed, and set up release strategies for each phase.

If this is the first release pipeline in your project, it will be used as the default for all new flags created in this project.

You can also use the REST API: Create a release pipeline

Set up release strategies

Each phase in a pipeline can include multiple release strategies. You must specify details on automation, approvals, and guarded releases for each strategy.

A phase within a release pipeline.
A phase within a release pipeline.

To edit a release strategy:

  1. Select the Environment for the release strategy.
  2. Select the Audience to decide if flags should be enabled for either:
    • everyone targeted in each flag's default rules, or
    • only certain segments. If you choose to release the flag to only certain segments, LaunchDarkly will automatically create a rule on your flag to target those segments when you start the release.
  3. (Optional) Check Require approvals to start automation to require approvals.
    • Click Add reviewers and select approvers from the list.
  4. Select a Release strategy of either:
    • an immediate rollout, or
    • a guarded rollout. If you choose a guarded rollout, a guarded rollout will be added to the rule for the audience you selected in step 2.
  5. Click Done.
  6. (Optional) Click Add another release strategy to add an additional strategy.

To reorder phases, click the left and right arrows to "Move phase left" or "Move phase right."

To delete a phase, click the three-dot overflow menu and select Delete phase.

When you are finished adding phases and setting up release strategies, click Create release pipeline.

A complete release pipeline.
A complete release pipeline.

Add flags to release pipelines

After you have created a release pipeline, you are redirected to the releases view to add your first flags to the pipeline. You can add only boolean flags to release pipelines.

Add a flag to a release pipeline

To add a flag to a release pipeline:

  1. From the flags list, navigate to the boolean flag you want to add to a release pipeline.
  2. Click Start release in the right sidebar. If there is more than one release available, select the release you want to add the flag to.
The "Start release" option.
The "Start release" option.

The release appears in the right sidebar.

You can also use the REST API: Create a new release for flag

Begin releases

After you have set up the automation for each of your phases, you can activate the automation on each flag in the pipeline.

To begin moving a flag through the pipeline:

  1. From the flag's targeting page, find the phase you want to begin in the right sidebar.
  2. Click the start arrow for the phase. A "Start phase" dialog appears
  3. Click Start.

LaunchDarkly executes the release phase immediately. This includes requesting any approvals, toggling the flag on, and adding any guarded rollouts. When the phase is complete, the next phase in the release pipeline is marked as "Ready to start."

A release pipeline's phases in a flag's sidebar.
A release pipeline's phases in a flag's sidebar.

When you're ready for the flag to move through the next phase, click the start arrow for that phase.

Release pipelines runs the following automated steps when you start the phase for a flag:

  • If the phase includes an approval, starting the phase sends an approval request to toggle the flag on. When the approval request is approved, then LaunchDarkly automatically toggles the flag.
  • If the phase includes a guarded rollout, starting the phase automatically begins the monitoring process for the time specified in the phase.

When the phase is complete, the flag automatically moves to the start of the next phase.

When you're ready for the flag to move through the next phase, click the start arrow for that phase.

You can also use the REST API: Update phase status for release

Manage release pipelines

You can duplicate release pipelines, change the default pipeline, and delete pipelines as needed.

Duplicate release pipelines

As an alternative to creating a new pipeline, you can duplicate an existing one and edit it to make it unique. This may be faster if you wish to create multiple similar release pipelines.

To duplicate an existing release pipeline:

  1. Navigate to Releases. The default release pipeline appears.
  2. Click the release pipeline name, and select Manage release pipelines. The release pipeline list appears.
  3. Find the release pipeline you wish to duplicate. Select its three-dot overflow menu.
  4. Choose Duplicate. The new release pipeline opens in a new tab. You can identify it because it has the same name as the original release pipeline with (copy) appended to the end.
  5. Modify the new release pipeline as needed.
The release pipeline "Duplicate" option.
The release pipeline "Duplicate" option.

After you create a release pipeline, you can edit its name, description, tags, and phase names. To make more substantial changes, you must delete the release pipeline and create a new one. This ensures that all flags are going through the same standardized release process.

Set a default release pipeline

The first release pipeline you create automatically becomes your project's default release pipeline. If you have more than one pipeline, you can change the default.

To change a default release pipeline:

  1. Navigate to Releases. The default release pipeline appears.
  2. Click the release pipeline name, and select Manage release pipelines. The release pipeline list appears.
  3. Find the release pipeline you wish to make the default release pipeline for this project. Select its three-dot overflow menu.
  4. Choose Make default.
A release pipeline's overflow menu with the "Make default" option called out.

You can also use the REST API: Update a release pipeline

Delete release pipelines

You can only delete release pipelines that do not have any active releases. If there are any flags in any phase of a release pipeline, you cannot delete the pipeline.

To delete a release pipeline:

  1. Navigate to Releases. The default release pipeline appears.
  2. Click the release pipeline name, and select Manage release pipelines. The release pipelines list appears.
  3. Click the three-dot overflow menu next to the release pipeline you want to delete and select Delete.
The "Delete release pipeline" option.
The "Delete release pipeline" option.
  1. Enter the pipeline's name or key to confirm.
  2. Click Delete.

You can also use the REST API: Delete release pipeline

Move flags between release pipelines

If a flag is assigned to a release pipeline, you can move it to another pipeline.

To move a flag:

  1. Navigate to the flag targeting page.
  2. In the right sidebar, click the three-dot overflow menu for the release.
  3. Hover over Move to pipeline and select the release you want to move the flag to.
  4. Enter the name or key of the release to confirm.
  5. Click Move.

Remove flags from release pipelines

To remove a flag from a release pipeline:

  1. Navigate to the flag.
  2. In the right sidebar, click the three-dot overflow menu for the release.
  3. Click Cancel release.

You can also use the REST API: Delete a release for flag