Azure devops Azure DevOps管道发布错误:未找到具有指定模式的包:D:\a\r1\a\***.zip

Azure devops Azure DevOps管道发布错误:未找到具有指定模式的包:D:\a\r1\a\***.zip,azure-devops,azure-pipelines,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines,Azure Pipelines Release Pipeline,我在Azure DevOps存储库中有一个ASP.NET核心项目,它可以使用DevOps构建管道正常构建。但是,版本的发布总是会失败,并出现以下错误: 错误:找不到具有指定模式的包:D:\a\r1\a***.zip 我已经签出和Q/As,但无法找到解决方案 这是我的azure.pipelines.yml文件: pool: vmImage: 'vs2017-win2016' variables: buildConfiguration: 'Release' steps: - scri

我在Azure DevOps存储库中有一个ASP.NET核心项目,它可以使用DevOps构建管道正常构建。但是,版本的发布总是会失败,并出现以下错误:

错误:找不到具有指定模式的包:D:\a\r1\a***.zip

我已经签出和Q/As,但无法找到解决方案

这是我的
azure.pipelines.yml
文件:

pool:
  vmImage: 'vs2017-win2016'

variables:
  buildConfiguration: 'Release'

steps:
  - script: dotnet build ".\src\MyProject.sln" --configuration $(buildConfiguration)
    displayName: 'dotnet build $(buildConfiguration)'
  - script: dotnet publish ".\src\MyProject.sln" --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)
     displayName: 'dotnet publish $(buildConfiguration)'
  - task: PublishBuildArtifacts@1
    pathtoPublish: '$(Build.ArtifactStagingDirectory)' 
    artifactName: 'drop' 
    publishLocation: 'Container'

更多细节 发布管道错误:

日志

初始化作业:

下载工件:

部署Azure应用程序服务:


我也有同样的问题,在谷歌搜索后我发现了这个

总之,这个答案表示您需要转到构建部分并对其进行编辑。

在.yaml文件的最后,您需要添加一行

“-任务:PublishBuildArtifacts@1"


排队等待一个新的构建,你就可以开始了

对于我们来说,这只是“包或文件夹”的部署任务的错误路径。 它与管道选项卡上的内容不匹配(作为工件之一):

我在使用Maven的示例Java代码中遇到了相同的错误。为此,您还需要在发布构建工件之前添加CopyFiles任务

trigger:
- master

pool:
  vmImage: 'Ubuntu-16.04'

steps:
- task: Maven@3
  inputs:
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.11'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: false
    testResultsFiles: '**/TEST-*.xml'
    goals: 'package'

- task: CopyFiles@2
  inputs:
    contents: '**/*.war'
    targetFolder: '$(build.artifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  inputs:
    artifactName: 'war'
    pathToPublish: '$(build.artifactStagingDirectory)'

ASP.NET项目:

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1

正如每个人都指出的那样,这个错误是因为未配置构建任务。你需要把下面的YAML代码放在最后才能使它工作

- task: PublishBuildArtifacts@1
你可以看到这个错误,我已经指出了准确的时间线,以避免看到完整的视频


愉快地学习编码。

在我的情况下,我正在部署Azure应用程序服务,我必须更改
packageForLinux
部分,以使用路径从
路径到发布
默认情况下,它是
系统。默认工作目录

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM'
    azureSubscription: 'Pay-As-You-Go ($(subscriptionId))'
    appType: 'webApp'
    WebAppName: 'webappname'
    deployToSlotOrASE: true
    ResourceGroupName: 'resourceGroupName'
    SlotName: 'production'
    packageForLinux: '$(Build.ArtifactStagingDirectory)/*.zip'

我遇到了同样的错误,但是我跳过了工件的下载。一旦我启用了工件的下载,部署就成功了。

在您的工件中似乎没有zip文件,发布中的任务需要一个zip文件。@shaykibaramczyk-Yep。但问题是什么?而且,看起来工件会转到
D:\a\r1\a\drop\drop
,而不是
D:\a\r1\a\drop
。不知道为什么!必须这样做,因为管道需要将文件发布到您的网站。此任务发布生成的输出,以便拾取和部署它。我认为是AzureDevOps中的一个bug导致它将此任务从.yaml文件中删除。也许有经验的人可以提供进一步的见解。是的!!谢谢,谢谢!!在你结结巴巴的回答之前,花了很多时间来处理这个问题。
msbuildArgs
参数是我缺少的部分。再次感谢你!你是怎么做到的?
trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
- task: PublishBuildArtifacts@1
- task: PublishBuildArtifacts@1
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM'
    azureSubscription: 'Pay-As-You-Go ($(subscriptionId))'
    appType: 'webApp'
    WebAppName: 'webappname'
    deployToSlotOrASE: true
    ResourceGroupName: 'resourceGroupName'
    SlotName: 'production'
    packageForLinux: '$(Build.ArtifactStagingDirectory)/*.zip'