通过DevOps部署Logic App(标准版)遇Kudu 503服务不可用问题求助
部署Logic App(标准版)时频繁出现Kudu 503服务不可用问题
部署不存在的Logic App(标准版)资源时,约每三次部署就会出现“Kudu服务不可用503”错误。部署分为两步:
基础设施部署
使用AzureResourceManagerTemplateDeployment@3任务部署ARM模板,部署成功后出现以下异常:
- App Service概览页面显示“error”而非运行时版本
- Kudu无响应
- 日志流不可用
- Azure门户活动日志中Validate操作失败,提示“网关未在指定时间内收到‘Microsoft.Web’的响应:504”
停止/启动应用或更换App Service Plan可临时解决此问题,且ASP的CPU/内存使用率接近0%,疑似未处理的运行时异常。
结合AzureFunctionApp@1部署应用时的问题
- 数分钟内Azure DevOps显示“No message found for this issue”
- 部署可能耗时长达45分钟,或失败并输出以下日志:
Starting: Deploying Standard Logic App Task : Azure Functions Deploy Description : Update a function app with .NET, Python, JavaScript, PowerShell, Java based web applications Version : 2.238.1 Author : Microsoft Corporation Help : https://aka.ms/azurefunctiontroubleshooting Got service connection details for Azure App Service:'logicapp-dev' NOTE: Function app is VNet integrated. Deleting App Service Application settings. Data: ["WEBSITE_RUN_FROM_ZIP","WEBSITE_RUN_FROM_PACKAGE"] App Service Application settings are already present. Validating deployment package for functions app before Zip Deploy Package deployment using ZIP Deploy initiated. ##[error]Failed to deploy web package to App Service. ##[warning]Can't find loc string for key: KuduStackTraceURL ##[error]KuduStackTraceURL https://$logicapp-dev:***@logicapp-dev.scm.azurewebsites.net/api/vfs/LogFiles/kudu/trace ##[error]Error: Error: Failed to deploy web package to App Service. Service Unavailable (CODE: 503) ##[warning]Error: Failed to update deployment history. Error: Service Unavailable (CODE: 503) App Service Application URL: https://logicapp-dev.azurewebsites.net Finishing: Deploying Standard Logic App
点击Kudu跟踪日志链接可查看以下内容:
{ "Message": "An error has occurred.", "ExceptionMessage": "Illegal characters in path.", "ExceptionType": "System.ArgumentException", "StackTrace": " at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)\r\n at System.IO.Path.Combine(String path1, String path2)\r\n at Kudu.Services.Infrastructure.VfsControllerBase.GetOriginalLocalFilePath() in C:\\__w\\1\\s\\Kudu.Services\\Infrastructure\\VfsControllerBase.cs:line 327\r\n at Kudu.Services.Infrastructure.VfsControllerBase.GetLocalFilePath() in C:\\__w\\1\\s\\Kudu.Services\\Infrastructure\\VfsControllerBase.cs:line 316\r\n at Kudu.Services.Infrastructure.VfsControllerBase.GetItem() in C:\\__w\\1\\s\\Kudu.Services\\Infrastructure\\VfsControllerBase.cs:line 52\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor ...continued... }
已排除的排查项
已耗时约5天排查,排除以下因素:
- 应用本身(工作流、连接、参数、host.json等)
- API连接
- App Service Plan(尝试删除并升级)
- 应用运行时(尝试从dotnet切换回Node)
- ARM模板(Azure门户新建的Logic App ARM模板同样失败)
- 流水线任务(尝试使用AzureFunctionApp@2)
- Logic App名称(尝试重命名Logic App和文件共享,DEV/SIT环境初始成功但UAT环境仍出现相同错误)
- 存储账户防火墙(尝试启用公共访问)
- 手动部署文件共享(部署Logic App(标准版)会自动创建文件共享,除非设置
WEBSITE_SKIP_CONTENTSHARE_VALIDATION为1) - 通过Kudu删除部署文件夹(部分用户报告残留文件与DevOps和Azure的连接相关)
环境说明
- Logic App通过VNet集成使用单独资源组中的存储账户
- 存储账户配置了专用终结点,并允许受信任Azure服务访问
- 应用设置已配置
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING、WEBSITE_CONTENTOVERVNET和WEBSITE_SKIP_CONTENTSHARE_VALIDATION(存储文件共享已提前部署) - App Insights未记录Logic App到存储账户文件共享的失败请求
请问是否有人遇到过部署Logic App(标准版)或Function App时出现此类Kudu 503错误?
内容的提问来源于stack exchange,提问作者altec
相关产品推荐
相关产品推荐

