A Golang-based Database CI/CD solution for Developers and DBAs

Go based Database CI/CD solution for the Developers and DBAs

What is Bytebase Database CI/CD solution?

Bytebase is a Database CI/CD solution for Developers and DBAs. It’s the only database CI/CD project included in the CNCF Landscape. The Bytebase family consists of these tools:

  • Bytebase Console: A web-based GUI for developers and DBAs to manage the database development lifecycle.
  • Bytebase CLI (bb): The CLI to help developers integrate MySQL and PostgreSQL schema change into the existing CI/CD workflow.
  • Bytebase GitHub App and SQL Review GitHub Action: The GitHub App and GitHub Action to detect SQL anti-patterns and enforce a consistent SQL style guide during Pull Request.

Supported Database

white_check_mark MySQL white_check_mark PostgreSQL white_check_mark TiDB white_check_mark ClickHouse white_check_mark Snowflake

VCS Integration

GitOps workflow, database-as-Code, login with VCS account, project membership sync.

white_check_mark GitLab CE/EE white_check_mark GitHub.com

Features

  •  Web-based database change and management workspace for teams
  •  SQL Review
    • UI-based change workflow
    • Version control-based change workflow (Database-as-Code)
    • SQL Review Rules
  •  Built-in SQL Editor
  •  Detailed migration history
  •  Multi-tenancy (rollout change to homogeneous databases belonging to different tenants)
  •  Online schema change based on gh-ost
  •  Backup and restore
  •  Point-in-time recovery (PITR)
  •  Anomaly center
  •  Environment policy
    • Approval policy
    • Backup schedule enforcement
  •  Schema drift detection
  •  Backward compatibility schema change check
  •  Role-based access control (RBAC)
  •  Webhook integration for Slack, Discord, MS Teams, DingTalk(钉钉), Feishu(飞书), WeCom(企业微信)

Bytebase is built with a curated tech stack. It is optimized for developer experience and is very easy to start working on the code:

  1. It has no external dependency.
  2. It requires zero config.
  3. 1 command to start backend and 1 command to start frontend, both with live reload support.

Learn the codebase

Prerequisites

  • Go (1.19 or later)
  • pnpm
  • Air (must use forked repo 87187cc). This is for backend live reload.