仅在更改软件包时才在VSTS中构建Monorepo

Saw*_*oes 4 git azure-devops azure-pipelines-build-task azure-pipelines monorepo

在VSTS中使用monorepo时,有时我只会在一次提交中更新一个软件包,而不是全部。在那种情况下,我只想为那个特定的片段运行构建,别无其他。

我使用的是持续集成,因此它将在任何时候提交的内容中master进行构建。可悲的是,此构建过程可能需要一段时间,并且如果只修改了代码的一部分,我只想构建该项目。

由于我正在更新Git提交,因此我可能正在寻找是否对特定目录中的文件进行了更改,但是我相信有更好的方法。

注意:我的项目使用Node.js和Webpack,并使用Docker Compose进行构建。

jes*_*ing 5

CI触发器上有一个路径筛选器。您可以使用它来触发同一mono repo上的更多单独的构建定义。

在此处输入图片说明

MsBuild和其他一些工具提供了增量构建的选项。它们自动检测文件是否已更改以及需要重新编译哪些项目。这确实要求构建在同一构建代理上一致触发,并且不清除存储库和输出文件夹。