Jenkins流水线中Databricks CLI出现config host mismatch错误
解决Databricks CLI主机地址不匹配问题
排查及修复步骤
1. 确认Jenkins运行用户的配置文件路径
Databricks CLI默认读取用户主目录下的.databrickscfg文件,但Jenkins服务可能使用的是自身运行用户的主目录,而非你手动配置的用户目录。
- 执行命令查看Jenkins当前用户的主目录:
echo $HOME - 检查该目录下
.databrickscfg文件的DEFAULT节内容,确保host与错误提示中的地址完全一致:[DEFAULT] host = https://dbc-bf3e73e7-221d.cloud.databricks.com token = xxxxxxxx
2. 修正配置命令的引号问题
你使用的配置命令中,单引号会将变量名当作字符串直接传入,而非解析变量值。去掉单引号重新配置:
databricks configure --token $databricksToken --host $workspaceUrl
3. 手动指定配置文件路径
如果Jenkins环境中配置文件不在默认位置,可在导入命令中通过--config-file参数强制指定:
databricks workspace import-dir --config-file /path/to/your/.databrickscfg --profile DEFAULT ./notebooks Shared/test --overwrite
4. 验证CLI读取的实际配置
执行以下命令查看CLI当前加载的DEFAULT配置,确认主机地址是否正确:
databricks configure --profile DEFAULT --show
若输出的host与预期不符,找到对应配置文件修改即可。
5. Jenkins流水线中直接生成临时配置
如果是Jenkins Pipeline场景,可在流水线内直接生成临时配置文件,规避环境冲突:
sh ''' cat > $HOME/.databrickscfg << EOF [DEFAULT] host = https://dbc-bf3e73e7-221d.cloud.databricks.com token = $databricksToken EOF ''' sh 'databricks workspace import-dir --profile DEFAULT ./notebooks Shared/test --overwrite'
内容的提问来源于stack exchange,提问作者Ameer suhail
相关产品推荐
相关产品推荐

