【问题标题】:AzureDevops: using artifacts from another pipelineAzureDevops:使用来自另一个管道的工件
【发布时间】:2021-05-07 13:11:06
【问题描述】:

我有一个由多个组件组成的系统,这些组件存储在各自的 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

【问题讨论】:

  • 您好朋友,下面的答案是否解决了您的问题?如果是,感谢您接受它作为this 之类的答案。
  • @WalterQian-MSFT 在一定程度上有所帮助。但这似乎意味着我应该只拥有一个带有 3 个管道的项目,而不是拥有 3 个不同的项目。只有这样做,我才能看到其他构建。如果它们在不同的项目中,无论我为库项目设置什么权限,我都无法访问构建工件。是否可以根据项目库提供 2 个项目(项目 A 和项目 B)的管道和权限示例?这个功能可行吗?
  • 这个问题与我在我这边测试时答案中的设置有关。您也可以尝试使用pipeline resource 来使用来自其他管道的工件。
  • 这似乎与权限无关。即使我没有访问该项目的权限,我仍然可以从该项目下载工件。我建议您仔细检查我提到的设置以及您的项目的可见性。
  • 我可以通过禁用最后一个标志来实现它:限制作业授权标志...这使得可以引用来自另一个项目的构建。

标签: azure-devops


【解决方案1】:

请检查以下设置:

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

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

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

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

【讨论】:

  • 我已经尝试了这些设置,如果库是在单独的项目中构建的,构建仍然失败。
  • 我能够通过禁用最后一个标志来使其正常工作:限制作业授权标志...这使得可以引用来自另一个项目的构建。
  • @BradVrabete 很高兴您的问题已解决。感谢marking it as an answer,这也将帮助社区中的其他人。
猜你喜欢
  • 2022-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多