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

通过YAML部署独立Web Job后面板未显示,求排查指引

问题描述

通过YAML文件部署独立Web Job,Azure DevOps管道运行无报错,且已确认生成的压缩包内二进制文件路径符合App_Data/jobs/continuous/PDFOScanJob的要求,但Azure的Web Job面板中始终未显示该Web Job,求排查方向。

相关YAML配置

parameters:
  # Artifact Path
  artifactPath: ''
  # projects
  projects: ''
  # build configuration 'Debug' | 'Release'
  buildConfiguration: ''
  # artifact publish path
  artifactPublishPath: ''
  # Swagger file location
  swaggerFileLocation: ''
  # project dll location
  projectDllLocation: ''
  # dot net sdk version
  dotnetSDKVersion: '6.x'


steps:

- task: UseDotNet@2
  displayName: 'Use Dot Net ${{parameters.dotnetSDKVersion}}'
  inputs:
    packageType: 'sdk'
    version: ${{parameters.dotnetSDKVersion}}
    
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: '**/PDFOScanJob.csproj'
    arguments: '--configuration Release'

- task: DotNetCoreCLI@2
  inputs:
    command: 'publish'
    publishWebProjects: false
    projects: '**/PDFOScanJob.csproj'
    arguments: '--output $(Build.BinariesDirectory)/publish_output/App_Data/jobs/continuous/PDFOScanJob'
    zipAfterPublish: false
    modifyOutputPath: false


- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(Build.BinariesDirectory)/publish_output'
    includeRootFolder: false
    archiveType: 'zip'
    archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
    replaceExistingArchive: true

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

#-------------- Test script to be deleted----------------------------------------------#
- task: PowerShell@2
  displayName: 'Test Script '
  inputs:
    targetType: 'inline'
    script: |
      Write-Host "Testing Path......."
      write-host '$(Agent.BuildDirectory)/**/*.zip'
      Get-ChildItem -Path '$(Agent.BuildDirectory)/**/*' -Recurse | Select  FullName 
#-------------- Deploy webjob----------------------------------------------#
- task: AzureRmWebAppDeployment@4
  displayName: 'Azure Web Service Deployment'
  inputs:
      ConnectionType: 'AzureRM'
      azureSubscription: '<AZ Subscription>'
      appType: 'webApp'
      WebAppName: '<app servicename>'
      package: '$(Agent.BuildDirectory)/**/*.zip'

排查方向

  • 确认部署包的指向路径:当前部署任务用$(Agent.BuildDirectory)/**/*.zip可能匹配到多个压缩包,建议改为明确路径$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip。同时查看管道中AzureRmWebAppDeployment@4任务的日志,确认"Package Found"显示的是正确的压缩包。
  • 验证Web App实际文件结构:通过Kudu控制台(https://<你的应用名>.scm.azurewebsites.net/)进入site/wwwroot目录,检查App_Data/jobs/continuous/PDFOScanJob是否存在,且内部文件(如程序集、run.cmd等)完整。
  • 核对Web Job类型与目录匹配:确保Job类型(这里是continuous)和目录结构严格对应——持续型Job必须放在continuous子目录,触发型则放在triggered子目录,目录错误会导致面板无法识别。
  • 查看Web App部署与运行日志:在Azure门户的Web App中,开启"应用服务日志",查看部署日志是否有文件上传失败的记录,以及Web Job的初始化日志是否存在报错。
  • 检查部署任务的路径配置:确认AzureRmWebAppDeployment@4任务未设置VirtualApplication等会修改部署根路径的参数,默认应直接部署到site/wwwroot。
  • 再次确认压缩包内部结构:解压生成的压缩包,确保根目录直接是App_Data文件夹,而非嵌套在其他目录下(当前ArchiveFiles任务的includeRootFolder: false配置是正确的,但需实际验证)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 04:45:12