Visual Studio Team Services发布/部署失败 - “找不到指定模式的包”

时间:2016-10-26 16:32:59

标签: azure tfs azure-devops ms-release-management

我正在尝试实现对我的DEV Azure应用服务的持续集成和持续部署。我在Visual Studio Team Services上使用托管代理。我的发行版定义中的“将网站部署到Azure”步骤一直失败,并显示错误“找不到包含指定模式的包”。有什么想法吗?

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

5 个答案:

答案 0 :(得分:26)

“多个包与指定的模式匹配。请限制搜索模式[sic]。”因为您在任务的“程序包或文件夹”设置中输入了“xxx \ * .zip”,所以当任务找到2个或更多包时,通常会发生错误。所以你只需要更新它来指定详细的包名。类似的问题:Deploy azure website and webjobs in same sln using VSO - Error - There can be only one

对于原始问题,您还可以通过创建新的构建定义来修复它,在“构建”选项卡上选择“Visual Studio”,在“部署”选项卡上选择“Azure WebApp”。这将创建一个构建定义,并添加了所需的arugments。

答案 1 :(得分:6)

几小时前有同样的问题。这就是我能够解决问题的方法:

  1. 确保Build solution步骤中的MSBuild参数为: / p:DeployOnBuild = true / p:WebPublishMethod = Package / p:PackageAsSingleFile = true / p:SkipInvalidConfigurations = true / p:PackageLocation =“$(build.artifactstagingdirectory)\”

  2. 添加步骤Azure App服务部署:ARM

  3. 配置订阅和应用服务名称
  4. 包或文件夹应为$(build.artifactstagingdirectory)\**\*.zip
  5. 步骤:

    Step definitions

    Azure App服务部署配置:

    enter image description here

答案 2 :(得分:0)

使用可视化设计器在azure devops中创建构建管道时,尽管您的代码位于azure仓库和github,

然后选择来源

最终为您的应用选择各个模板

答案 3 :(得分:0)

确保您没有勾选“跳过工件下载”

答案 4 :(得分:0)

如果您使用默认的Azure应用服务部署任务,请将其添加到YAML文件的末尾:

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish $(buildConfiguration)'
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: True

- task: PublishBuildArtifacts@1
  displayName: 'publish artifacts'

我遇到了同样的问题,这对我有用:

# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  buildConfiguration: 'Release'

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

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish $(buildConfiguration)'
  inputs:
    command: publish
    publishWebProjects: True
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: True

- task: PublishBuildArtifacts@1
  displayName: 'publish artifacts'