如何跨语言或跨平台构建Mono Repo?

问题描述

Blockquote

让我们假设我有一个仓库,我有不同的独立项目(** java,nodejs,c ++)

因此,只要我对特定项目进行仅我应该构建的更改,我们就能做到吗?

解决方法

说您的monorepo是这样组织的:

/
 README.md
 ...
 aCppPrj/
         README.md
         build/
         doc/
         src/
         ...
 aJavaPrj/
          ...
 aNodePrj/
          ...
 common/

在此示例中,公共目录中有一些脚本由所有项目共享,并且在那里进行的更改也应将构建排队。

C ++项目的构建必须具有类似的触发器

- trigger:
    paths:
      include:
        - 'aCppPrj'
        - 'common'
      exclude:
        - '*'

请注意引号,以避免YAML解析器发疯。 您包括了必须触发构建并排除其他所有内容的文件夹。

有关详细信息,请参见herehere