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

GitHub Action部署Azure WebApp后wwwroot目录为空问题求助

GitHub Action部署Azure Web应用后wwwroot为空的排查思路

我尝试通过GitHub Action将Web应用部署到Azure,但部署完成后site/wwwroot目录完全为空,相关情况如下:

  • 流水线执行无任何失败
  • 发布的产物包含正确的文件
  • 手动通过FTP将文件上传至wwwroot可正常运行

YAML配置片段

name: Build and deploy 
on:
  push:
    branches:
    - main    
  workflow_dispatch:
env:
  AZURE_WEBAPP_NAME: Name
  AZURE_WEBAPP_PACKAGE_PATH: Name\publish
  CONFIGURATION: Release
  DOTNET_CORE_VERSION: 6.0.x
  WORKING_DIRECTORY: Name
jobs:
  build:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@v3
    - name: Setup .NET SDK
      uses: actions/setup-dotnet@v3
      with:
        dotnet-version: ${{ env.DOTNET_CORE_VERSION }}
    - name: Restore
      run: dotnet restore "${{ env.WORKING_DIRECTORY }}"
    - name: Build
      run: dotnet build "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-restore
    - name: Test
      run: dotnet test "${{ env.WORKING_DIRECTORY }}" --no-build
    - name: Publish
      run: dotnet publish "${{ env.WORKING_DIRECTORY }}" --configuration ${{ env.CONFIGURATION }} --no-build --output "${{ env.AZURE_WEBAPP_PACKAGE_PATH }}"
    - name: Publish Artifacts
      uses: actions/upload-artifact@v3
      with:
        name: webapp
        path: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}
  deploy:
    runs-on: windows-latest
    needs: build
    steps:
    - name: Download artifact from build job
      uses: actions/download-artifact@v3
      with:
        name: webapp
        path: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}
    - name: Deploy to Azure WebApp
      uses: azure/webapps-deploy@v3
      with:
        app-name: ${{ env.AZURE_WEBAPP_NAME }}
        publish-profile: ${{ secrets.Name_BBF6 }}
        package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}

Action日志片段

Package deployment using OneDeploy initiated.
{
  id: '11111111111111',
  status: 4,
  status_text: '',
  author_email: 'N/A',
  author: 'N/A',
  deployer: 'OneDeploy',
  message: 'OneDeploy',
  progress: '',
  received_time: '2023-11-21T11:17:41.9110402Z',
  start_time: '2023-11-21T11:17:42.1610338Z',
  end_time: '2023-11-21T11:17:44.5828528Z',
  last_success_end_time: '2023-11-21T11:17:44.5828528Z',
  complete: true,
  active: true,
  is_temp: false,
  is_readonly: true,
  url: 'https://name.scm.azurewebsites.net/api/deployments/latest',
  log_url: 'https://name.scm.azurewebsites.net/api/deployments/latest/log',
  site_name: 'Name',
  provisioningState: 'Succeeded'
}
Deploy logs can be viewed at https://name.scm.azurewebsites.net/api/deployments/1111111111/log
Successfully deployed web package to App Service.

排查与解决思路

  • 修正路径分隔符:当前AZURE_WEBAPP_PACKAGE_PATH使用Windows反斜杠\,建议改为正斜杠/(Name/publish),避免跨步骤的路径解析异常。
  • 验证artifact内容:在deploy步骤中添加run: dir "${{ env.AZURE_WEBAPP_PACKAGE_PATH }}"命令,确认下载后的目录存在文件,排除上传/下载过程中的文件丢失问题。
  • 调整部署包路径:尝试将azure/webapps-deploy的package参数改为${{ env.AZURE_WEBAPP_PACKAGE_PATH }}/**,确保工具能识别到目录下所有待部署文件。
  • 检查App Service运行模式:确认Azure门户中App Service的“常规设置”是否开启“从包运行”,开启后文件不会解压到wwwroot,而是直接从包运行,此时wwwroot为空属于正常情况,但应用应能正常启动。
  • 查看详细部署日志:访问日志中的log_url,查看OneDeploy的具体执行记录,排查是否存在静默失败或文件上传遗漏的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:03:10