我正在尝试实现对我的DEV Azure应用服务的持续集成和持续部署。我在Visual Studio Team Services上使用托管代理。我的发行版定义中的“将网站部署到Azure”步骤一直失败,并显示错误“找不到包含指定模式的包”。有什么想法吗?
答案 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)
几小时前有同样的问题。这就是我能够解决问题的方法:
确保Build solution步骤中的MSBuild参数为: / p:DeployOnBuild = true / p:WebPublishMethod = Package / p:PackageAsSingleFile = true / p:SkipInvalidConfigurations = true / p:PackageLocation =“$(build.artifactstagingdirectory)\”
添加步骤Azure App服务部署:ARM
$(build.artifactstagingdirectory)\**\*.zip
步骤:
Azure App服务部署配置:
答案 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'