部署到Azure Web App后无法找到WebJob是什么原因?
问题核心结论
该问题不是PowerShell部署脚本本身导致的。你使用的az webapp deployment source config-zip -n "TestApp" -g "TestRG" --src "c:\test\deployfile.zip"命令格式完全符合Azure CLI部署规范,返回的202状态码、provisioningState字段标记部署成功,也说明压缩包已经正常上传到对应App Service的部署端点,部署流程本身执行正确。
WebJob未在控制台显示的常见排查方向
- 首先校验zip包的目录结构是否符合WebJob部署要求
- 触发式WebJob的所有执行文件必须放在zip包内的
App_Data/jobs/triggered/[自定义WebJob名称]/路径下 - 持续运行WebJob的所有执行文件必须放在zip包内的
App_Data/jobs/continuous/[自定义WebJob名称]/路径下 - 若使用Linux运行时的App Service,路径大小写敏感,必须严格匹配上述层级结构,拼写错误、层级缺失都会导致WebJob无法被识别
- 触发式WebJob的所有执行文件必须放在zip包内的
- 检查App Service配置项
SCM_DO_BUILD_DURING_DEPLOYMENT的取值
若该配置值为true,Azure会在zip包上传后自动执行构建流程,如果你打包的是已经编译完成的WebJob二进制文件,构建操作可能会误删/移动WebJob的目录文件,导致最终站点内无对应WebJob资源 - 校验App Service运行堆栈与WebJob运行要求是否匹配
比如WebJob基于.NET 6编译,但目标App Service运行时配置为Python 3.9,会导致WebJob虽然部署完成但无法被平台识别,不会在控制台展示 - 确认部署目标与查看对象一致
检查是否存在误部署到其他部署插槽、或者查看WebJob时选错了部署插槽的情况
内容的提问来源于stack exchange,提问作者user16252006
相关产品推荐
相关产品推荐

