git 如何设置子模块Azure DevOps

zsohkypk  于 2023-08-01  发布在  Git
关注(0)|答案(2)|浏览(115)

有人能解释一下SubModule在Azure devops中是如何工作的吗
MyDevOps根文件夹
我有一个名为MyCore.sln的解决方案,其中包含4-5个项目
我有一个名为MyMain.sln的主解决方案,其中包含另外4-5个引用MyCore.sln项目的项目

  • 它都在本地编译和工作,但在Azure DevOps中构建时会失败
  • 进入Powershell中的MyMain.sln文件夹并执行如下
  • 执行如下git submodule add https://myGroup@dev.azure.com/MyGroup/MyProjec/_git/MyCore
  • 我现在可以看到我的主存储库中的一个名为MyCore的文件夹,里面有项目,我开始引用它们
  • 我可以看到.gitmodules文件

然而,当我去构建管道时,它找不到引用的项目(属于myCore repo)
我是不是错过了最明显的?
有没有关于如何在azure devops中设置子模块的全面说明?
我能在任何地方看到它吗?

7gcisfzg

7gcisfzg1#

在“获取源代码”步骤的高级部分,您需要启用“检出子模块”选项。


的数据
如果您使用YAML构建,则需要添加:

steps:
- checkout: self
  submodules: true

字符串
至于你的后续问题:

解决方案文件应该放在哪里

理想情况下,您应该有一个单一的解决方案,因为您希望这些项目一起构建。有多个解决方案将是尴尬的。如果你想共享一个解决方案中的组件,你最好把第二个仓库中的项目发布为NuGet包。

kx1ctssn

kx1ctssn2#

转到Project Settings=>Settings(您的管道所在的项目),禁用这两个限制:

的数据

相关问题