Release Pipelines
Release Pipelines is currenlty in alpha phase and is not available to the public.
Release Pipelines act as your intelligent release assistant, automating your entire feature flag deployment process. Define stages that your flags progress through automatically, with triggers and actions that control rollouts to selected environments and audiences. Release Pipelines can automatically generate change requests when promoting flags to production, eliminating manual effort and streamlining your deployment workflow.
Key Benefits
- Automated Deployments: Reduce manual intervention by automating flag releases across environments.
- Standardised Process: Ensure consistent release protocols across your team.
- Reduced Risk: Control the pace of rollouts with customisable conditions.
- Better Visibility: Track the progress of your feature releases through each stage.
Creating a Release Pipeline
Step 1: Navigate to Release Pipelines
- Go to your project in the Flagsmith dashboard.
- Navigate to the Release Pipelines section.
- Click Create Release Pipeline.
Step 2: Configure Pipeline Settings
Pipeline Information:
- Name: Give your pipeline a descriptive name (e.g., "Web App Release Pipeline").
Pipeline Configuration:
- Add multiple stages to represent your release process.
- Each stage can represent an environment or phase in your release process.
Pipeline Stages
Stage Configuration
Each stage in your pipeline consists of:
- Stage Name: A descriptive name for the stage (e.g., "Development", "Staging", "Production", "Turn on beta users").
- Trigger: When the stage should be activated.
- Actions: What should happen when the stage is triggered.
Stage Triggers
On Enter (ON_ENTER
)
- Triggers immediately when a flag is added to this stage.
- Use this for immediate actions when flags reach a particular stage.
Wait For (WAIT_FOR
)
- Triggers after waiting for a specified amount of time.
- Configure the wait time in minutes, hours, or days.
- Use this for gradual rollouts or testing periods.
Stage Actions
Toggle Feature Actions:
- Enable flag for everyone: Enables the feature flag for all users in the environment.
- Disable flag for everyone: Disables the feature flag for all users in the environment.
- Enable flag for segment: Enables the feature flag for a specific user segment.
- Disable flag for segment: Disables the feature flag for a specific user segment.
Publishing a Release Pipeline
Draft Status
After a release pipeline is created and before it is published, it remains in draft mode. In this state:
- The release pipeline is inactive and does not process feature flags.
- The configuration remains editable.
- You can modify stages, triggers, and actions freely.
- Once published, the pipeline becomes immutable and operational.
Publishing Process
Once published, a release pipeline cannot be modified. Ensure your configuration is correct before publishing.
- Complete your pipeline configuration.
- Review all stages, triggers, and actions.
- Click Publish Pipeline.
- Confirm the action when prompted.
Adding Flags to Release Pipelines
In alpha phase there are no automatic rollbacks, you'd need to revert changes manually.
From the Dashboard
- Navigate to your feature flags.
- Select the flag you want to add to a pipeline.
- Click the arrow on the "Update Feature Value" button to expand options.
- Click the Add to Release Pipeline option.
- Select the pipeline.
- Confirm the selection.
Pipeline Execution
Once a flag is added to a pipeline:
- It starts at the first stage you specified.
- The pipeline automatically executes based on your configured triggers.
- Actions are performed according to your stage configuration.
- The flag progresses through each stage in sequence.
Managing Release Pipelines
Viewing Pipeline Status
- Active Pipelines: View all published pipelines and their current status.
- Flag Progress: Track which flags are currently in each stage.
Removing Flags from Pipelines
If you need to remove a flag from a pipeline:
- Navigate to the flag or pipeline view.
- Select Remove from Release Pipeline.
- Confirm the action.
Audit Log Events
Release Pipelines generate audit log events to track pipeline-related activities.
Events
Pipeline Creation
- Event:
RELEASE_PIPELINE_CREATED_MESSAGE
. - Triggered when a new release pipeline is created.
Pipeline Publication
- Event:
RELEASE_PIPELINE_PUBLISHED_MESSAGE
. - Triggered when a pipeline is published and becomes active.
Pipeline Deletion
- Event:
RELEASE_PIPELINE_DELETED_MESSAGE
. - Triggered when a pipeline is permanently deleted.
Feature Addition to Pipeline
- Event:
RELEASE_PIPELINE_FEATURE_ADDED_MESSAGE
. - Triggered when a feature flag is added to a release pipeline.
Feature State Updates
- Event:
FEATURE_STATE_UPDATED_BY_RELEASE_PIPELINE_MESSAGE
. - Triggered when a pipeline automatically updates a feature flag's state during stage execution.
Viewing Audit Logs
You can view these audit events in your project's audit log:
- Navigate to your project.
- Go to the Audit Log tab.