【问题标题】:Visual Studio Team Services Release/Deploy fails - "No package found with specified pattern"Visual Studio Team Services 发布/部署失败 - “找不到具有指定模式的包”
【发布时间】:2019-05-17 02:13:13
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 这解决了它。这是我的网络作业项目导致它找到多个包。
    • 能否请您解释一下如何更新它以指定详细的包名称以及您在寻找要创建或已经创建的 zip 文件?
    【解决方案2】:

    几个小时前遇到了同样的问题。这就是我解决问题的方法:

    1. 确保构建解决方案步骤中的 MSBuild 参数为: /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\"

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

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

    步骤:

    Azure 应用服务部署配置:

    【讨论】:

    • 感谢您的建议,我离我越来越近了。但是,现在我得到一个“与指定模式匹配的多个包。请限制搜索模式。”在部署步骤上。有什么建议吗?
    • Mb 您可以尝试显式命名包(在构建和部署步骤中),如@Eddie - MSFT 建议:$(build.artifactstagingdirectory)\MyAwesomeAppPackage.zip
    • 谢谢!事实证明,降价正在消除所需的斜线。已经清理干净了。
    【解决方案3】:

    如果您使用的是默认的 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'
    

    【讨论】:

    【解决方案4】:

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

    然后选择来源

    最后为您的应用选择相应的模板

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-26
        • 1970-01-01
        相关资源
        最近更新 更多