TF401019:名称或标识符为 public 的 Git 存储库不存在,或者您无权执行正在尝试的操作

use*_*060 9 git yaml repository git-submodules azure-devops

我有两个名为private2和 的ADO 存储库public2。作为子模块的private2引用:public2

\n

在此输入图像描述

\n

我还添加了用于构建的 yaml 文件(vsts-cicd.yml),如下所示:

\n
resources:\n  repositories:\n  - repository: test\n    type: git\n    name: <ProjectName>/public2\n    ref: master\n\nstages:\n\n- template: build1.yml@test\n  parameters:\n    repoToCheckout: test\n    checkoutPath: \'$(Build.BuildNumber)\'\n\n- template: build2.yml@test\n  parameters:\n    repoToCheckout: test\n    checkoutPath: \'$(Build.BuildNumber)\'\n    \n- template: yaml/build3.yml\n\n
Run Code Online (Sandbox Code Playgroud)\n

在运行构建时,我看到前两个模板已成功完成。到达时- template: yaml/build3.yml失败并出现以下错误:

\n

在此输入图像描述

\n

我缺少什么?

\n

更新:

\n

我按照这篇文章(https://www.timschaeps.be/post/dealing-with-error-tf401019-submodules-azure-pipelines/)来解决这个问题,但是我没有\xe2\x80\x99在项目中看到这个选项设置:\xe2\x80\x98将作业授权范围限制为引用的 Azure DevOps 存储库\xe2\x80\x99。我缺少什么?

\n

在此输入图像描述

\n

Jos*_*ght 11

正如您在更新中提到的,使用存储库的项目需要Limit job authorization scope to current project for non-release pipelines在项目设置中禁用该设置。

注意:请记住,这会将构建标识更改为集合范围。这可能会导致使用 Auzure DevOps Artifacts 时出现问题。请参阅作用域构建标识

Azure DevOps 项目管道设置


Daz*_*ddy 5

我不知道为什么它呈灰色,但我认为您还需要禁用“保护对 YAML 管道中存储库的访问”。为我工作。


小智 2

我最近遇到了这个问题。对我来说,它使用了 Windows 凭据管理器中的错误凭据。我的存储库上存储的凭据的权限已被撤销。所以我删除了过时的凭据并再次克隆。这对我有用。