Azure devops 如何通过重新排列我的azure-pipelines.yml来纠正我的azure部署问题?

Azure devops 如何通过重新排列我的azure-pipelines.yml来纠正我的azure部署问题?,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我正在尝试使用azure cloud和devops建立一个管道。但我在从成功构建部署时遇到以下错误。我如何解决这个问题 我读了一篇文章“太棒了”http://www.alessandromoura.com.br/2020/04/23/azure-devops-publish-and-download-artifacts/" 我应用了您的规则集,但我始终遇到以下错误: 错误:未找到具有指定模式的包:D:\a\r1\a***.zip 检查任务中提到的包是否作为构建或前一阶段中的工件发布,并在当前作业

我正在尝试使用azure cloud和devops建立一个管道。但我在从成功构建部署时遇到以下错误。我如何解决这个问题

我读了一篇文章“太棒了”http://www.alessandromoura.com.br/2020/04/23/azure-devops-publish-and-download-artifacts/"

我应用了您的规则集,但我始终遇到以下错误:

错误:未找到具有指定模式的包:D:\a\r1\a***.zip
检查任务中提到的包是否作为构建或前一阶段中的工件发布,并在当前作业中下载

azure-pipelines.yml:


# Docker
# Build and push an image to Azure Container Registry
# https://docs.microsoft.com/azure/devops/pipelines/languages/docker

trigger:
- main

resources:
- repo: self

variables:
  # Container registry service connection established during pipeline creation
  dockerRegistryServiceConnection: 'xxxxx'
  imageRepository: 'xxxhelloaspnetcore'
  containerRegistry: 'xxxcontainer01.azurecr.io'
  dockerfilePath: '$(Build.SourcesDirectory)/Dockerfile'
  tag: '$(Build.BuildId)'
  
  # Agent VM image name
  vmImageName: 'ubuntu-latest'

stages:
- stage: Build
  displayName: Build and push stage
  jobs:  
  - job: Build
    displayName: Build
    pool:
      vmImage: $(vmImageName)
    steps:
    - task: Docker@2
      displayName: Build and push an image to container registry
      inputs:
        command: buildAndPush
        repository: $(imageRepository)
        dockerfile: $(dockerfilePath)
        containerRegistry: $(dockerRegistryServiceConnection)
        tags: |
          $(tag)
    - download: none
    - task: DownloadPipelineArtifact@2
      displayName: 'Download Build Artifacts'
      inputs:
        patterns: '**/*.zip'
        path: '$(Build.ArtifactStagingDirectory)'

    - task: PowerShell@2
      displayName: 'Degug parameters'
      inputs:
        targetType: Inline
        script: |
            Write-Host "$(Build.ArtifactStagingDirectory)"
            Write-Host "$(System.DefaultWorkingDirectory)"
            Write-Host "$(System.ArtifactsDirectory)"
            Write-Host "$(Pipeline.Workspace)"
            Write-Host "$(System.ArtifactsDirectory)"

您的管道创建图像并将其推送到容器注册表,这样您就不会有管道工件。这就是为什么
DownloadPipelineArtifact
抛出错误的原因

DownloadPipelineArtifact
仅当您之前使用了
PublishPipelineArtifact
时才有意义。这很好地描述了它

还有一种方法可以从另一个管道下载工件-但它需要使用,但您的管道中没有定义的管道资源


所以一切都如预期的那样。你能解释一下你到底想下载什么,以及它能达到什么目的吗?

你在哪里发布管道工件?除非先发布管道工件,否则无法下载管道工件。博客文章错误或提供的信息不完整。看看官方文件,我对此一无所知。所以我无法回答“您在哪里发布管道工件?”我如何才能编写正确的yaml?或者怎么说。谢谢。先看一下文档。