使用ARM模板通过Zip Deploy向Azure App Service部署WebJob问题咨询
常见错误排查
- 压缩包目录结构不符合要求
这是最常见的部署失败原因,连续型WebJob要求压缩包必须遵循固定目录层级:
<压缩包根目录> └── App_Data └── Jobs └── Continuous └── <你的WebJob自定义名称> ├── 你的WebJob执行文件(比如run.exe、run.cmd、脚本文件等) └── 所有依赖库、配置文件
如果是触发型WebJob,将Continuous替换为Triggered即可。如果你的压缩包直接把WebJob编译输出放在根目录,没有嵌套上述层级,App Service无法识别到WebJob资源。打包时注意不要额外嵌套外层目录,确保解压后App_Data文件夹直接在站点根目录下。
- ARM模板配置存在瑕疵
- 站点资源的API版本过旧:你当前使用的2015-08-01版本对ZipDeploy扩展的兼容性较差,建议升级到2021-02-01及以上的稳定API版本
- 站点配置中
scmType设置为null会导致部署行为异常,建议明确设置为"scmType": "None" - 需确认
deployPackageUrl是可匿名访问的地址:如果压缩包存储在Azure存储账户中,必须附带有效、未过期的SAS令牌,ARM部署服务无法访问私有存储资源
- 站点基础配置不符合WebJob运行要求
连续型WebJob必须开启AlwaysOn配置,需要确认你传入的alwaysOn参数值为true,否则WebJob不仅无法正常运行,也可能在部署后不显示在门户中。如果你的App Service是Linux计划,WebJob的目录规则、运行环境与Windows计划存在差异,需要额外适配。
可用的ARM模板示例
{ "comments": "Defines an Azure Web App with WebJob Zip Deploy", "type": "Microsoft.Web/sites", "name": "[parameters('siteName')]", "apiVersion": "2021-02-01", "location": "[variables('siteLocation')]", "kind": "app", "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', parameters('appServicePlanName'))]", "ConfigJson", "MdsConfigXml" ], "tags": { "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('appServicePlanName'))]": "empty" }, "properties": { "serverFarmId": "[resourceId(parameters('appServicePlanResourceGroup'), 'Microsoft.Web/serverfarms', parameters('appServicePlanName'))]", "siteConfig": { "phpVersion": "off", "scmType": "None", "netFrameworkVersion": "v4.0", "use32BitWorkerProcess": false, "webSocketsEnabled": false, "alwaysOn": "[parameters('alwaysOn')]", "httpLoggingEnabled": true, "logsDirectorySizeLimit": 50, "appSettings": [ { "name": "APPINSIGHTS_PROFILERFEATURE_VERSION", "value": "1.0.0", "slotSetting": true }, { "name": "WEBSITE_RUN_FROM_PACKAGE", "value": "1" } ] } }, "resources": [ { "apiVersion": "2021-02-01", "dependsOn": [ "[resourceId('Microsoft.Web/Sites', parameters('siteName'))]" ], "name": "ZipDeploy", "properties": { "packageUri": "[parameters('deployPackageUrl')]", "type": "zip" }, "type": "extensions" } ] }
内容的提问来源于stack exchange,提问作者rhetoric3
相关产品推荐
相关产品推荐

