我正在编写一个 Azure Devops 管道,以在 Databricks 上使用 nutter 运行单元测试。
如 nutter 文档中所述,这是运行测试的代码:
nutter run /Shared/ $CLUSTER --recursive --junit_report
但是,我想使用 Databricks 环境中的无服务器集群,而不是特定的集群资源。所以我没有 Serverless 资源的 ClusterID。
如何使用无服务器来运行它?
据我使用
nutter
进行的测试,无论我们运行单元还是通过管道或本地PowerShell提示符通过nutter runner
触发测试,都无法在没有集群的情况下执行nutter CLI
。
Azure 管道只需使用
nutter
CLI 来针对 DATABRICKS_HOST
验证对 DATABRICKS_TOKEN
的访问,并继续触发在目标 cluster 上执行的坚果测试;这与本地 PowerShell 触发的执行行为相同。
PowerShell 脚本
pip install nutter
$env:DATABRICKS_HOST="https://adb-xxxxxx.azuredatabricks.net/"
$env:DATABRICKS_TOKEN="xxxxxx"
$CLUSTER = "xxxx-xxxxxx-xxxxxxxx"
nutter list /shared
nutter run /Shared/ $CLUSTER --recursive --junit_report
从
Azure DevOps
的故障排除角度来看,请注意在集成到管道之前确保您的工具集支持您所需的功能或特性。