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

如何在Azure DevOps流水线中使用Databricks无服务器集群运行nutter测试

在Azure DevOps流水线中使用Databricks无服务器集群运行Nutter单元测试

核心思路

无需依赖固定集群ID,通过动态定义无服务器集群配置,让Nutter在运行测试时自动创建临时无服务器作业集群,测试完成后集群会自动销毁。

具体实现步骤

1. 定义无服务器集群配置

创建JSON配置文件(例如serverless-cluster-config.json),填入无服务器集群的必要参数:

{
  "spark_version": "14.3.x-scala2.12",
  "node_type_id": "Serverless",
  "enable_serverless_compute": true,
  "data_security_mode": "SINGLE_USER",
  "runtime_engine": "STANDARD",
  "num_workers": 0
}

注意:spark_version需选择支持无服务器计算的版本(Databricks Runtime 13.3 LTS及以上);data_security_mode根据你的Workspace权限模型调整;num_workers固定设为0即可,无服务器集群无需手动指定worker数量。

2. 修改Nutter运行命令

将原命令中的固定ClusterID参数$CLUSTER替换为--cluster-spec,指向你的配置文件:

nutter run /Shared/ --cluster-spec serverless-cluster-config.json --recursive --junit_report

如果不想单独维护配置文件,也可以直接在命令中内嵌JSON配置:

nutter run /Shared/ --cluster-spec '{"spark_version":"14.3.x-scala2.12","node_type_id":"Serverless","enable_serverless_compute":true,"data_security_mode":"SINGLE_USER","runtime_engine":"STANDARD","num_workers":0}' --recursive --junit_report

3. 流水线环境与权限配置

  • 确保Azure DevOps流水线使用的服务主体拥有Databricks Job创建权限和Workspace对象访问权限,能正常调用Databricks API。
  • 在流水线任务中提前配置Databricks CLI环境:设置DATABRICKS_HOST(你的Databricks工作区URL)和DATABRICKS_TOKEN(有权限的个人访问令牌)作为环境变量。

关键注意事项

  • 无服务器集群为临时资源,测试完成后自动终止,不会产生闲置资源费用。
  • 若遇到版本兼容性问题,可在Databricks工作区的集群创建页面确认当前支持的无服务器Spark版本,再更新配置中的spark_version。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:42:45