我有一个依赖于其他2-3个项目的项目,有没有办法将它们与主项目结合在一起?
在构建过程开始时,项目将位于文件系统上,而主项目可以找到其他依赖项吗?
答案 0 :(得分:3)
正如@Kehinde的评论中所说,Multi-repo checkout功能可以实现您想要的功能。
注意:
多仓库结帐是仅支持YAML
的功能。因为设计逻辑是将多个存储库中的Checkout与YAML构建结合使用,可将源级别的依赖项管理集中到Git中的一个结构化描述符文件(YAML biuld定义),以实现良好的可见性。
但是对于由classic UI
配置的管道,您必须将其他存储库/项目添加为submodules
,或添加为手动脚本才能在管道中运行git checkout
。
对于个人而言,我强烈建议您使用YAML来实现所需的功能。
简单的示例YAML定义:
resources:
repositories:
- repository: tools
name: Tools
type: git
steps:
- checkout: self
- checkout: tools
- script: dir $(Build.SourcesDirectory)
在这里,图像我有一个名为“ MyCode”的存储库和一个YAML管道,另外还有一个名为“ Tools”的存储库。
在上方的第三step
( dir $(Build.SourcesDirectory))中,它将显示两个目录,即“ MyCode ”和“ 工具”,在源目录中。
希望这会有所帮助。
对于Bitbucket:
resources:
repositories:
- repository: MyBitBucketRepo
type: bitbucket
endpoint: MyBitBucketServiceConnection
name: {BitBucketOrg}/{BitBucketRepo}
trigger:
- master
pool:
vmImage: 'ubuntu-latest'
steps:
- checkout: self
- checkout: MyBitBucketRepo
- script: dir $(Build.SourcesDirectory)