Azure DevOps CI/CD MySQL发布管道失败:服务器列表为空
针对你遇到的Azure MySQL DB Deploy任务服务器列表为空、部署报错Error: The MySQL server list is empty. The MySQL server host name is invalid.的问题,可按以下步骤排查解决:
验证服务连接权限
确保服务连接使用的服务主体/托管标识拥有目标MySQL服务器的Reader角色权限,可在Azure门户的MySQL服务器IAM页面添加对应角色分配;若用托管标识,需确认发布管道代理的托管标识已被授予该权限。确认服务器与订阅匹配
检查目标MySQL服务器和所选服务连接是否属于同一Azure订阅,跨订阅场景会导致无法拉取服务器列表。同时确认服务器处于正常运行状态,未被删除或停机。手动指定服务器主机名
若自动加载服务器列表失败,可跳过列表选择,在任务配置中手动输入服务器主机名(格式为<你的服务器名>.mysql.database.azure.com),直接配置连接参数后重试部署。排查自托管代理网络(若使用)
若使用自托管代理,需确保代理服务器能访问Azure MySQL公网端点,检查MySQL服务器防火墙规则是否允许代理IP访问,同时确认代理可正常连接Azure管理API,避免网络拦截导致无法拉取资源列表。检查服务连接认证有效性
若用服务主体认证,确认客户端ID、密钥、租户ID均正确且未过期/禁用;若用RBAC类型服务连接,确认订阅的RBAC配置正确,服务连接具备读取订阅内MySQL资源的权限。
内容的提问来源于stack exchange,提问作者Thendral Thiruvengadam

