5. 환경별 배포 (Targets)
dev / staging / prod 타겟 설정
mode: development vs mode: production
권한(Permissions) 설정
6. 배포 워크플로
배포 3단계
validate 출력 예시
GitHub Actions CI/CD 연동
인증 방법: 프로덕션 배포에는 Personal Access Token 대신 Service Principal + OAuth M2M 인증을 사용합니다. GitHub Secrets에DATABRICKS_CLIENT_ID,DATABRICKS_CLIENT_SECRET을 저장하고DATABRICKS_TOKEN대신 사용합니다.
7. 실전 패턴
7-1. 모노레포(Monorepo) 구조
여러 팀/도메인의 파이프라인을 하나의 Git 저장소에서 관리하는 패턴입니다.databricks bundle deploy를 실행합니다. GitHub Actions에서는 paths 필터로 변경된 도메인만 선택적으로 배포합니다.
7-2. 다중 Job 오케스트레이션
한 번들 내에서 여러 Job이 서로를 참조할 수 있습니다.7-3. 대시보드 코드화
7-4. include로 설정 분리
큰 프로젝트에서는 리소스 파일을 분리하여 가독성을 높입니다.8. 장단점과 트레이드오프
DABs vs 수동 배포(UI)
DABs vs Terraform
학습 곡선
9. 베스트 프랙티스와 흔한 실수
베스트 프랙티스
1. 항상 validate 먼저 실행-t 옵션 없이 명령을 실행하면 기본 타겟(dev)이 사용됩니다. 실수로 prod에 영향을 주는 것을 방지합니다.
5. 리소스 이름에 ${bundle.target} 포함
흔한 실수
정리
참고 링크
- Databricks: Declarative Automation Bundles 공식 문서
- Databricks: Bundle configuration reference (전체 YAML 스키마)
- Databricks: Bundle resources (리소스 유형별 설정)
- Databricks: Bundle templates
- Databricks: CI/CD with DABs (GitHub Actions)
- Azure Databricks: Declarative Automation Bundles
- Databricks: DABs vs Terraform — When to use each