Declarative Automation Bundles package Databricks-centered data, analytics, ML, and AI projects as source-controlled configuration and code. Databricks describes them as a tool for adopting software engineering practices such as source control, code review, testing, and CI/CD for data and AI projects, with metadata alongside source files and Databricks resources such as jobs and pipelines described as source files (Databricks: Declarative Automation Bundles). A bundle is an end-to-end project definition that describes how the project is structured, tested, deployed, and run across target environments (Databricks: Declarative Automation Bundles).
The key shift is that lakehouse and AI assets are treated like governed software instead of manually configured notebooks and jobs. Bundles can include cloud infrastructure and workspace configuration, notebooks and Python files, Lakeflow Jobs, Lakeflow Spark Declarative Pipelines, dashboards, model serving endpoints, MLflow experiments, MLflow registered models, unit tests, and integration tests (Databricks: Declarative Automation Bundles). Bundle metadata is defined in YAML, while the Databricks CLI validates, deploys, and runs bundles against remote target workspaces (Databricks: Declarative Automation Bundles).
The reason to classify Declarative Automation Bundles as Adopt is that CI/CD for data and AI assets is now a core platform practice, and Databricks explicitly recommends bundles for CI/CD pipelines. Adopt this pattern for Databricks lakehouse, ML, and AI workflows that need promotion across development, staging, and production, especially when multiple contributors, automation, repeatability, permissions, and compliance evidence matter.
databricks bundle validate to catch configuration issues before deployment (Databricks CI/CD best practices).--var, BUNDLE_VAR_ environment variables, target mappings, or override files, with a defined precedence order; teams need clear rules so deployment-time values do not surprise downstream runs (Databricks bundle variables).run_as, including separation of the identity used to deploy a bundle from the identity used to run jobs or pipelines; incorrect identities can create overprivileged jobs or broken production workflows (Databricks bundle configuration reference).--auto-approve, --force-lock, and --fail-on-active-runs; Databricks warns that --force-lock disables the mechanism that prevents concurrent deployments from interacting and should only be used for stale locks after interrupted deployments (Databricks bundle CLI commands).databricks bundle destroy permanently deletes previously deployed jobs, pipelines, and artifacts, and --auto-approve skips confirmation prompts, so destructive operations should be protected in CI/CD and role design (Databricks bundle CLI commands).Adopt Declarative Automation Bundles for Databricks lakehouse, ML, and AI workflows that need repeatable delivery across development, staging, and production. Use bundles to keep source code, workflow definitions, deployment targets, resource configuration, tests, permissions, run identities, and operational settings in version control. Treat bundle changes like application changes: require pull requests, review, validation, CI checks, and promotion gates.
Use the bundle lifecycle deliberately. Run databricks bundle validate in CI, deploy with explicit targets, separate deployment identity from runtime identity where appropriate, and use versioned artifacts tied to commit hashes or semantic versions. Keep environment-specific values in target mappings, variables, or secure CI/CD configuration rather than hardcoded YAML. Use workload identity federation or approved service principal patterns for automation.
Keep the scope clear. Use bundles for Databricks project assets such as jobs, pipelines, dashboards, experiments, registered models, serving endpoints, vector search endpoints, schemas, volumes, quality monitors, tests, and workflows. Use Terraform or platform IaC for surrounding cloud infrastructure, workspaces, networks, storage, service principals, and account-level policy. Protect production with deployment locks, active-run checks, destructive-operation controls, least-privilege permissions, rollback plans, monitoring, and documented ownership.