将文件夹项目部署到 Azure 应用服务时出错

Error deploying a folder artifact to Azure app service

我正在使用 Azure Dev Ops 运行 我的构建和发布管道。我有一个构建脚本,可将我的 Web 代码发布到工件文件夹(使用 .NET SDK 项目),我只需要将此代码推送到我的 Azure 应用服务中。我在发布管道中尝试了“Azure 应用程序服务部署”和“将代码部署到应用程序服务”任务,从我的 Azure 实例中为其提供发布设置文件,并使用我的代码指向该文件夹(因为它说它需要 zip或文件夹)。然而,在这一步的控制台上,我收到一条错误消息“不存在这样的部署方法。”

我能够通过 FTP 推送内容,但我想了解为什么应用服务发布不起作用,因为在未来。在这种情况下,使用 Azure 资源管理器连接会更好吗?还是我的构建工件毕竟需要压缩?如果它必须作为 web 部署压缩,在解决方案构建之后是否有一个步骤来执行此操作,因为我必须先将文件复制到 artifact 文件夹中进行转换,所以我不能只做一个全面的 web build/zip.

我没有看到您的管道的详细信息,所以我会分享我的。我正在部署 zip 包:

Package or folder 对话框中我有:

我在我的管道中使用 YAML,但如果您想在经典管道中使用类似的东西,它很容易理解和遵循:

trigger: none
pr: none

pool:
  vmImage: 'windows-latest'

variables:
  buildConfiguration: 'Release'
  projectDirectory: 'app-service-deployment-to-slot-with-preview\hadar'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'
  workingDirectory: $(projectDirectory)

- task: DotNetCoreCLI@2
  displayName: Publish
  inputs:
    command: publish
    publishWebProjects: false
    projects: '$(projectDirectory)\hadar.csproj'
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: true

- task: CopyFiles@2
  displayName: 'Copy configuration settings checks'
  inputs:
    contents: app-service-deployment-to-slot-with-preview\scripts\**
    targetFolder: '$(Build.ArtifactStagingDirectory)\scripts'
    flattenFolders: true

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifacts'