如何从 Azure DevOps 中的文件夹(不是 zip)部署 WebApp

Luk*_*eyb 5 deployment azure azure-devops

我无法使用文件夹进行 DevOps 部署,它给了我以下错误:

[错误]错误:找不到具有指定模式的包:d:\a\1\a*.deploy.cmd
检查任务中提到的包是否在构建或上一阶段中作为工件发布并在当前中下载工作。

Azure 应用服务部署任务文档对 Package 参数进行了如下说明:

包的文件路径,或者包含 MSBuild 生成的应用服务内容的文件夹的文件路径,或者压缩的 zip 或 war 文件的文件路径。

这是我的发布任务:

  - task: DotNetCoreCLI@2
    inputs:
      command: publish
      publishWebProjects: false
      arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
      zipAfterPublish: false
      modifyOutputPath: true
      projects: |
        src/Company/Project.csproj 
Run Code Online (Sandbox Code Playgroud)

和我的部署任务:

  - task: AzureRmWebAppDeployment@4
    inputs:
      ConnectionType: 'PublishProfile'
      PublishProfilePath: '$(System.DefaultWorkingDirectory)/src/Company/Properties/PublishProfiles/WebDeploy.pubxml'
      PublishProfilePassword: '$(password)'
      Package: '$(Build.ArtifactStagingDirectory)/Company'
Run Code Online (Sandbox Code Playgroud)

为什么它要寻找deploy.cmd?我究竟做错了什么?

Krz*_*tof 0

请尝试

  - task: AzureRmWebAppDeployment@4
    inputs:
      ConnectionType: 'PublishProfile'
      PublishProfilePath: '$(System.DefaultWorkingDirectory)/src/Company/Properties/PublishProfiles/WebDeploy.pubxml'
      PublishProfilePassword: '$(password)'
      Package: '$(Build.ArtifactStagingDirectory)/Company/*'
Run Code Online (Sandbox Code Playgroud)

区别在于Package输入。