与访问不同项目的这些不同
与使用github的不同:
与此不同,因为它是访问另一个项目,而不是同一个项目。
无论如何,我的布局足够简单,我有一个包含以下 git 存储库的项目
.gitmodules 使用 my-repo 中的子模块文档所需的相对路径。gitmodules 看起来像
[submodule "my-app"]
path = my-app
url = ../my-app
[submodule "my-service-a"]
path = my-service-a
url = ../my-service-a
[submodule "my-service-b"]
path = my-service-b
url = ../my-service-b
我也尝试过完整的网址,但没有成功。
结账步骤是这样的
steps:
- checkout: self
submodules: recursive
persistCredentials: true
但最终我得到以下结果
克隆到“/home/vsts/work/1/s/my-app”... 远程:TF401019:名称或标识符为 my-app 的 Git 存储库不存在,或者您没有执行正在尝试的操作的权限。 致命:找不到存储库“https://dev.azure.com/XXXXXXXXXXXXXXXXXX/_git/my-app/”
无论我使用完整的 URL 还是类似
url = ../my-app
的 URL,我都可以使用与您相同的布局和结帐步骤成功克隆子模块
测试结果:
要访问同一项目中的存储库,请仔细检查选项“保护对 YAML 管道中存储库的访问”是否已关闭。 如果仍然无法签出子模块,请检查
管道构建服务帐户是否具有存储库的读取权限。 详细步骤请参考这里。