You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure DevOps快速搭建Azure Databricks的CI/CD流水线?

简易Azure DevOps CI/CD实现Databricks Dev到Prod代码推送

前置准备

  • 确认Dev Databricks代码已同步至Azure Repos(你已完成此步骤)
  • 在Azure DevOps中创建两个服务连接:Databricks Dev和Databricks Prod,使用个人访问令牌(PAT)或Azure AD认证,确保拥有工作区代码读写权限

核心实现:YAML流水线(最简版)

直接利用Azure DevOps内置的Databricks任务,无需复杂自定义脚本:

1. 拉取代码(CI阶段)

触发分支设为你的Dev代码分支,指定要同步的代码路径:

trigger:
  branches:
    include:
      - main  # 替换为你的Dev代码分支,如dev
  paths:
    include:
      - /databricks-notebooks/**  # 仅同步此路径下的代码

pool:
  vmImage: 'ubuntu-latest'

steps:
- checkout: self
  fetchDepth: 1

2. 推送至Prod Databricks(CD阶段)

使用DatabricksDeployScriptsToWorkspace任务一键同步代码:

- task: DatabricksDeployScriptsToWorkspace@0
  inputs:
    azureSubscription: '你的Azure订阅服务连接'
    databricksWorkspaceUrl: 'https://<你的Prod Databricks实例>.azuredatabricks.net/'
    databricksAccessToken: '$(prod-databricks-pat)'  # 将PAT存入Azure DevOps加密变量组
    sourcePath: '$(System.DefaultWorkingDirectory)/databricks-notebooks'
    targetPath: '/Prod/Notebooks'  # Prod工作区的目标目录
    overwrite: true  # 覆盖目标目录下的现有代码
    clean: false  # 若需清空目标目录再同步,设为true

简化技巧

  • 将Databricks的PAT、Workspace URL存入Azure DevOps变量组,避免硬编码,方便多环境管理
  • 若只需同步特定文件(如.ipynb、.py),可在sourcePath后添加过滤规则,或用FileTransform任务提前筛选文件
  • 无需测试环节的话可直接同步;若需验证代码,添加DatabricksRunNotebook任务在Dev环境执行测试,通过后再推送Prod

轻量替代方案:Databricks CLI

如果不想用内置任务,用CLI命令行更灵活:

  1. 流水线中安装CLI:pip install databricks-cli
  2. 配置Prod环境:databricks configure --token --host https://<你的Prod实例>.azuredatabricks.net/(PAT通过变量传入)
  3. 同步代码:databricks workspace import_dir --overwrite ./databricks-notebooks /Prod/Notebooks

此方式支持自定义排除规则,适合复杂场景。


内容的提问来源于stack exchange,提问作者Anonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:35:36