我在主项目中添加了一个 git 子模块,它使用相对路径引用子项目。 .gitmodules 看起来像这样:
[submodule "Shared"]
path = Shared
url = ../Shared
Azure 管道配置为自助签出,包括子模块: 文件
azure-pipelines.yaml
构建管道在结账步骤中失败,并给出以下错误: 错误
额外信息:
有什么想法吗?
编辑:我在错误屏幕截图中隐藏了 URL,但是当我单击这些 URL 时,我确实得到了存储库的结果,因此它肯定存在。
发布此问题后我很快就找到了解决方案:)。
在项目设置中,您应该禁用 YAML 管道安全开关,以便它签出同一项目中的存储库:
您需要在 azure-pipelines.ynl 中添加资源块:
resources:
repositories:
- repository: submodule-repo-url
type: git
name: submodule-name
然后在
steps
子句之前添加一个 uses
子句:
uses:
repositories:
- submodule-name
这确保生成的令牌包括对自身存储库和子模块存储库的访问。由于子模块位于同一个项目中,因此只需存储库的名称即可作为存储库 URL。