You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure App Service构建完成后应用未更新问题求助

问题排查方案

核心认知:WEBSITE_RUN_FROM_PACKAGE=1的运行机制

当WEBSITE_RUN_FROM_PACKAGE=1时,Azure Web App直接从部署的zip包加载运行,不会将包内容解压到site/wwwroot或site/repository目录,所以Kudu中site/repository无最新代码是正常现象,无需纠结这个点,重点排查部署的包是否为最新版本。

具体排查步骤

1. 检查Build阶段是否生成了正确的包

你的流水线中缺少.NET项目的编译/发布步骤,直接对$(Build.BinariesDirectory)执行打包操作,该目录可能为空或未包含最新代码:

  • 需在ArchiveFiles@2任务前添加dotnet publish步骤,确保将最新编译的代码输出到$(Build.BinariesDirectory):
    - task: DotNetCoreCLI@2
      displayName: 'Publish .NET application'
      inputs:
        command: 'publish'
        publishWebProjects: true
        arguments: '--configuration Release --output $(Build.BinariesDirectory)'
        zipAfterPublish: false
    
  • 查看流水线Build阶段的日志,确认ArchiveFiles@2任务是否成功打包了正确的文件,以及PublishPipelineArtifact@1是否上传了包含最新代码的zip包。

2. 验证部署任务的执行结果

查看AzureRmWebAppDeployment@4任务的日志:

  • 确认任务是否成功完成,有无权限错误、包路径错误等异常信息。
  • 确认部署的包路径$(Build.ArtifactStagingDirectory)/*.zip是否指向了正确的最新包。

3. 手动验证流水线生成的包内容

从流水线的publishedApp artifacts中下载zip包,解压后检查是否包含main分支的最新代码变更:

  • 如果包内容是旧的,问题出在Build阶段,需确认代码拉取、编译步骤是否正确;
  • 如果包内容是新的,问题出在部署到Web App的环节,可尝试手动使用Azure CLI执行zip部署测试:
    az webapp deploy --resource-group <你的资源组名> --name <你的WebApp名> --src-path <本地最新包路径> --type zip
    

4. 清理不必要的应用设置

当前设置中的WEBSITE_ENABLE_SYNC_UPDATE_SITE在包运行模式下作用有限,可暂时移除该设置,避免潜在的配置冲突。

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 08:02:53