Skip to main content

Release Channel Policies

Release channel policies define filter rules that determine which deployment versions are eligible for deployment to specific environments. This ensures only appropriate versions reach each environment, maintaining stability and control.

What are Release Channels?

Release channels allow you to create different deployment streams:
  • Stable Channel: Only production-ready, fully tested versions
  • Beta Channel: Pre-release versions for early testing
  • Canary Channel: Latest builds for gradual rollouts
  • Branch Channels: Specific git branches for different environments

Common Use Cases

Git Branch-Based Deployments

When any git commit creates a deployment version:
  • Deploy only main branch versions to production for stability
  • Allow any branch to deploy to QA for comprehensive testing
  • Deploy release/* branches to staging for pre-production validation
Example filter:
{
  "type": "comparison",
  "operator": "regex",
  "key": "metadata.branch",
  "value": "^main$"
}

Semantic Version Filtering

When deploying third-party software or managing version compatibility:
  • Only deploy minor version updates (e.g., 1.1 to 1.2) automatically
  • Require manual approval for major versions (e.g., 1.x to 2.0)
  • Allow patch versions (1.2.3 to 1.2.4) in production
Example for allowing only v1.x versions:
{
  "type": "comparison",
  "operator": "regex",
  "key": "tag",
  "value": "^v1\\."
}

Configuration

Configure release channel policies in the environment or deployment settings:
  1. Navigate to Environment Settings → Policies
  2. Add a Release Channel policy
  3. Define your version selector filter
  4. Save and apply

Benefits

  • Prevent accidental deployment of unstable versions
  • Enable progressive delivery strategies
  • Support multiple release streams
  • Maintain version compatibility requirements