.NET 8 Web应用Zip部署后未自动解压的最简解决方法问询
最简自动解压部署方案
方案1:调整现有AzureWebApp任务参数(推荐)
将原任务的deploymentMethod从zipDeploy改为auto,让任务自动适配Linux环境的部署逻辑,自动完成zip包解压:
- task: AzureWebApp@1 inputs: azureSubscription: $(azureSubscription) appType: 'webAppLinux' appName: $(appName) package: '$(Build.ArtifactStagingDirectory)/app.zip' deploymentMethod: 'auto' appOffline: true displayName: 'Deploy (Auto Mode)'
auto模式会根据应用类型选择最优部署策略,针对Linux WebApp会自动把zip包解压到/home/site/wwwroot目录,无需手动操作。
方案2:新增Azure CLI任务强制解压
如果方案1未生效,可在原部署任务后添加一个轻量Azure CLI任务,直接在服务器端执行解压:
- task: AzureWebApp@1 inputs: azureSubscription: $(azureSubscription) appType: 'webAppLinux' appName: $(appName) package: '$(Build.ArtifactStagingDirectory)/app.zip' deploymentMethod: 'zipDeploy' appOffline: true displayName: 'Deploy (Zip Deploy)' - task: AzureCLI@2 inputs: azureSubscription: $(azureSubscription) scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | az webapp deploy --name $(appName) --resource-group $(resourceGroupName) --src-path $(Build.ArtifactStagingDirectory)/app.zip --target-path /home/site/wwwroot --type zip --extract displayName: 'Extract Zip Package on Server'
该CLI命令通过--extract参数强制将zip包解压到指定的/home/site/wwwroot目录,确保网站文件直接可用。
内容的提问来源于stack exchange,提问作者Shawn Eary
相关产品推荐
相关产品推荐

