我面临着一个应该相对简单的问题,但我很难找到解决方案。我在Azure DevOps中有一系列项目,每个项目都相当于我们的一个产品。为了清理我们的项目,我想将共享或通用组件移动到一个新的Azure DevOps项目中,并在其他项目中引用这个新项目。
当开发人员 checkout 一个项目时,我希望他们也能自动 checkout 共享项目,当他们提交更改时,它应该转到相应的项目。我相信有一个很好的指南,但我找不到。
在SVN中,我通过使用SVN Externals来实现这一点,我认为GitHub也有类似的东西,但我在Azure DevOps中没有找到外部项目引用的选项。是我瞎了还是我查错标签了?
1条答案
按热度按时间fkvaft9z1#
当开发人员 checkout 项目时,我希望他们也能自动 checkout 共享项目,当他们提交更改时,
您可以考虑使用git submodule来实现此功能。
以下是在git中添加子模块的步骤:
然后你会在项目中看到.gitmodules和reference repo name文件。
例如:
当你 checkout 仓库时,你可以使用以下选项:Azure Pipeline中的
submodules: true
。经典管道:
您可以使用以下命令将子模块 checkout 到本地机器:
在这种情况下,它会自动 checkout self项目和shared项目。
另一方面,如果你正在使用YAML管道,你也可以考虑使用Repo资源:Check out multiple repositories in your pipeline