在 Azure DevOps 存储库的另一个项目中签出子模块
Checkout Submodules in another Project in Azure DevOps Repository
我正在尝试从 azure devops 中的另一个项目检出子模块。
steps:
- checkout: self
submodules: true
persistCredentials: true
clean: true
检出同一项目中的另一个存储库。
目标
在 REPOSITORY B 中添加子模块 REPOSITORY A。
但是我得到错误:
Cloning into 'E:/build/Agent5/_work/16/s/.azuredevops'...
fatal: could not read Username for 'https://dev.azure.com': terminal prompts disabled
fatal: clone of 'https://dev.azure.com/ORGANIZATION/PROJECTA/_git/REPOSITORYA' into submodule path 'E:/build/Agent5/_work/16/s/.azuredevops' failed
如何使用 Azure DevOps 存储库中的 YAML 实现此目的?
我认为这意味着管道无法访问项目 B 中的存储库 B。但我认为文档不会说跨项目是可能的(尽管我确实注意到它在几个地方说了相同的 Azure Devops 组织,而不是相同的项目),但它可能是,你可以关注它 link:
如果这不起作用,您需要使用脚本方法获取 PAT 令牌并将其用于结帐:
添加子模块时,我发现 .gitmodules 中的 url 不正确。
path = .azuredevops
url = https://dev.azure.com/ORGANIZATION/PROJECTA/_git/REPOSITORYA
应该是:
path = .azuredevops
url = https://ORGANIZATION@dev.azure.com/ORGANIZATION/PROJECTA/_git/REPOSITORYA
“项目设置”(左侧菜单底部)中默认选中了“限制作业授权”选项。
将其关闭 解决了问题。
仅供参考,我只是将其添加到 steps:
:
下的 yaml 中
- checkout: self
submodules: true
我已经关闭了组织级别的“限制工作授权范围”设置,但仍然被阻止。事实证明,您还需要为每个单独的项目关闭它们。它不会被继承。
我正在尝试从 azure devops 中的另一个项目检出子模块。
steps:
- checkout: self
submodules: true
persistCredentials: true
clean: true
检出同一项目中的另一个存储库。
目标
在 REPOSITORY B 中添加子模块 REPOSITORY A。
但是我得到错误:
Cloning into 'E:/build/Agent5/_work/16/s/.azuredevops'...
fatal: could not read Username for 'https://dev.azure.com': terminal prompts disabled
fatal: clone of 'https://dev.azure.com/ORGANIZATION/PROJECTA/_git/REPOSITORYA' into submodule path 'E:/build/Agent5/_work/16/s/.azuredevops' failed
如何使用 Azure DevOps 存储库中的 YAML 实现此目的?
我认为这意味着管道无法访问项目 B 中的存储库 B。但我认为文档不会说跨项目是可能的(尽管我确实注意到它在几个地方说了相同的 Azure Devops 组织,而不是相同的项目),但它可能是,你可以关注它 link:
如果这不起作用,您需要使用脚本方法获取 PAT 令牌并将其用于结帐:
添加子模块时,我发现 .gitmodules 中的 url 不正确。
path = .azuredevops
url = https://dev.azure.com/ORGANIZATION/PROJECTA/_git/REPOSITORYA
应该是:
path = .azuredevops
url = https://ORGANIZATION@dev.azure.com/ORGANIZATION/PROJECTA/_git/REPOSITORYA
“项目设置”(左侧菜单底部)中默认选中了“限制作业授权”选项。
将其关闭 解决了问题。
仅供参考,我只是将其添加到 steps:
:
- checkout: self
submodules: true
我已经关闭了组织级别的“限制工作授权范围”设置,但仍然被阻止。事实证明,您还需要为每个单独的项目关闭它们。它不会被继承。