Skip to main content
After PR/MR approval and merge, your CI/CD pipeline triggers Bytebase to create a release and deploy the migrations.
Non-bot PR/MR authors observed by bytebase-release count as active VCS users against your plan’s user limit. See How Users Are Counted.

How Releases Work

A Release is an immutable package containing all your SQL migration files:
  • Linked to VCS commit for full traceability
  • Files validated and stored with SHA256 checksums
  • Can be deployed to multiple environments
  • Supports progressive rollout strategies
Inside Bytebase, the release triggers:
  1. Plan Generation - Defines target databases and rollout strategy
  2. Rollout Execution - Creates tasks for each database
  3. Revision Tracking - Records applied migrations to prevent duplicates

CI/CD Integration Examples

Use a compatible bytebase-action image. For Bytebase Cloud, use bytebase/bytebase-action:cloud. For self-hosted Bytebase, replace :cloud with your Bytebase server version, for example :3.14.0.

GitHub Tutorial

GitHub Example

Deployment Strategies

Progressive rollout across environments:
Multi-tenant deployment using database groups:

Database Groups

Manage database fleets with groups

Idempotency Guarantee

Bytebase tracks which migration versions have been applied to each database via the revision system. When creating a release:
  1. Check revisions - Query which versions already exist
  2. Skip applied - Migrations with matching versions are skipped
  3. Execute new - Only unapplied versions are executed
  4. Record success - Create revision only on successful completion
This ensures:
  • ✅ Safe to run the same release multiple times
  • ✅ Migrations never double-execute
  • ✅ Environment parity (dev migrations auto-skip in prod)

Next Steps

Limitations

Understand constraints and considerations

Best Practices

Production-ready workflow patterns