天青管道拉依赖项目

时间:2020-02-04 09:59:43

标签: azure-devops azure-pipelines pipeline

我有一个依赖于其他2-3个项目的项目,有没有办法将它们与主项目结合在一起?

在构建过程开始时,项目将位于文件系统上,而主项目可以找到其他依赖项吗?

1 个答案:

答案 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)