Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure Visual Studio团队服务发布/部署失败-“;未找到具有指定模式的包;_Azure_Tfs_Azure Devops_Ms Release Management - Fatal编程技术网

Azure Visual Studio团队服务发布/部署失败-“;未找到具有指定模式的包;

Azure Visual Studio团队服务发布/部署失败-“;未找到具有指定模式的包;,azure,tfs,azure-devops,ms-release-management,Azure,Tfs,Azure Devops,Ms Release Management,我正在尝试对我的DEV Azure应用程序服务实施持续集成和持续部署。我正在Visual Studio Team Services上使用托管代理。我的发布定义中的“将网站部署到Azure”步骤一直失败,错误为“找不到具有指定模式的包”。有什么想法吗 几个小时前也有同样的问题。这就是我如何解决问题的原因: 确保生成解决方案步骤中的MSBuild参数为: /p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageAsSingleFil

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


几个小时前也有同样的问题。这就是我如何解决问题的原因:

  • 确保生成解决方案步骤中的MSBuild参数为: /p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageAsSingleFile=true/p:SkipinValidConfiguration=true/p:PackageLocation=“$(build.artifactstagingdirectory)\”

  • 添加步骤Azure应用程序服务部署:ARM

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

    Azure应用程序服务部署配置:

    “多个包与指定的模式匹配。请限制搜索模式[sic]”。自您在任务的“包或文件夹”设置中输入“xxx\*.zip”后,当任务找到两个或多个包时,通常会发生错误。所以您只需要更新它来指定详细的包名。这里有类似的问题:


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

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

    然后选择源


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

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

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

    多亏了你的建议,我离你越来越近了。但是,现在我在部署步骤中得到了“多个与指定模式匹配的包。请限制搜索模式”。有什么建议吗?Mb您可以尝试显式命名包(在构建和部署步骤中),如@Eddie-MSFT建议:$(build.artifactstagindirectory)\MyAwesomeAppPackage.zipThanks!事实证明降价是在消除所需的斜杠。我已经把它清理干净了,这就解决了。是我的webjob项目导致它找到了多个包。请参阅:您能详细解释一下如何更新它以指定详细的包名,以及要创建或已创建的zip文件需要什么?我能够添加缺少的任务,并通过在部署之前添加发布任务来修复问题Azure DevOps中的任务,通过tasks>.NET Core并从命令下拉列表中选择发布。