7

有人可以澄清 SubModule 在 azure devops 中的工作原理吗

MyDevOps 根文件夹

我有一个名为 MyCore.sln 的解决方案,其中包含 4-5 个项目

我有一个名为 MyMain.sln 的主要解决方案,其中包含引用 MyCore.sln 项目的另外 4-5 个项目项目

  • 它全部在本地编译和工作,但在 azure devops 中构建时失败

  • 进入powershell中的MyMain.sln文件夹并执行如下

  • 执行如下 git submodule add https://myGroup@dev.azure.com/MyGroup/MyProjec/_git/MyCore

  • 我现在可以在我的 Main Repo 中看到一个名为 MyCore 的文件夹,里面有项目,我开始引用它们
  • 我可以看到 .gitmodules 文件

    但是,当我去构建管道时,它找不到引用的项目(属于 myCore repo)

我错过了显而易见的事情吗?

是否有关于如何在 azure devops 中设置子模块的全面说明?

我可以在任何地方想象这个吗?

4

1 回答 1

10

在 Get Sources 步骤的高级部分中,您需要启用 Checkout Submodules 选项。

在此处输入图像描述

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

steps:
- checkout: self
  submodules: true

至于您的后续问题:

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

理想情况下,您将拥有一个单一的解决方案,因为您希望这些项目能够一起构建。有多种解决方案会很尴尬。如果您想共享一个解决方案中的组件,最好将第二个存储库中的项目发布为 NuGet 包。

于 2018-12-04T16:09:06.070 回答