【问题标题】:Using Build.ArtifactStagingDirectory and PublishPipelineArtifact in a Matrix Build在矩阵构建中使用 Build.ArtifactStagingDirectory 和 PublishPipelineArtifact
【发布时间】:2019-07-17 09:07:08
【问题描述】:

我的 Azure Pipelines 构建在 /home/vsts/work/1/Windows 文件夹中输出 NuGet 包,其中 Windows 是一个矩阵名称(我正在 Windows、Mac 和 Linux 上运行我的管道的构建部分,但只想从我的 Windows 版本)。

文档讨论使用$(Build.ArtifactStagingDirectory)/*.nupkg 路径传递给NuGetCommand@2。但是,这指向 /home/vsts/work/1/a 文件夹。

$(Build.ArtifactStagingDirectory) 变量是否错误,因为我使用的是矩阵构建?是不是因为我使用PublishPipelineArtifact@0 任务来发布我的.nupkg 的?

这里is a link to my azure-pipelines.yml file

【问题讨论】:

    标签: azure-devops nuget azure-pipelines azure-pipelines-build-task azure-pipelines-tasks


    【解决方案1】:

    因为您将matrix 策略与PublishArtifacts 一起使用,所以您有多个工件,因此在第二阶段(部署阶段),3 个工件不会下载到代理中的文件夹a,而是下载到根构建文件夹:

        home
        |-- vsts
          |-- work
            |-- 1
              |-- a
                  b
                  s
                  Test Results
                  Mac
                  Ubuntu
                  Windows
    

    所以你需要将变量$(Build.BuildDirectory) (home/vsts/work/1) 与/Windows/.nupkg 结合起来,像这样:

    $(Build.BuildDirectory)/Windows/.npukg
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多