AzureDevops:使用来自另一个管道的工件

时间:2021-02-03 10:03:58

标签: azure-devops

我有一个由多个组件组成的系统,这些组件存储在他们自己的 Git 存储库(2 个应用程序和一个库)中。每个都有自己的 Azure Devops 管道。该库构建良好,作为管道的一部分,我可以将二进制文件保存为工件,但我无法找到正确的参数来允许我在其他管道中使用这些工件。

流水线步骤是:

steps:
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    project: 'e6[...]a'
    definition: '2'
    buildVersionToDownload: 'specific'
    pipelineId: '22'
    artifactName: '[...] Library'
    targetPath: '$(Pipeline.Workspace)'

我得到的错误如下。我应该如何在这两个项目之间建立联系?

<块引用>

开始:下载BuildArtifacts ================================================== ============================ 任务:下载构建工件描述:下载文件 保存为已完成构建版本的工件: 0.178.0 作者:微软公司 帮助:https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/download-build-artifacts ================================================== ============================ 错误:在 getBuildId,所以重试 => 重试挂起:4 错误:在 getBuildId,所以重试 => 重试挂起:3 错误:在 getBuildId 中, 所以重试=>重试挂起:2错误:在getBuildId中,所以重试 => 重试未决:1 ##[error] 在 getBuildId 中失败,错误:错误:VS800075:ID 为“vstfs:///Classification/TeamProject/e6[...]a”的项目不存在, 或者您无权访问它。 ##[error]Error: VS800075: id 为 'vstfs:///Classification/TeamProject/e6[..]a' 的项目不存在,或者你 没有权限访问它。完成:下载BuildArtifacts

1 个答案:

答案 0 :(得分:1)

请检查以下设置:

1.请在项目设置中禁用将工作授权范围限制为当前项目的非发布管道选项: enter image description here 如果此选项为灰色,请先在组织设置中更改。

2.请检查您的项目的可见性。

enter image description here

如果您的管道在公共项目中,那么无论您在任何设置中配置什么,作业授权范围都会自动限制为项目。公共项目中的作业只能在项目内访问资源,例如构建工件或测试结果,而不能从组织的其他项目中访问。

您可以参考有关Access repositories, artifacts, and other resources的文档。