仅在包更改时在 VSTS 中构建 Monorepo

Build Monorepo in VSTS only when package changed

在 VSTS 中使用 monorepo 时,有时我只更新一次提交中的一个包,而不是所有包。在那种情况下,我只想 运行 构建那个特定的部分,没有别的。

我正在使用持续集成,因此它会在提交给 master 的任何时候构建。遗憾的是,这个构建过程可能需要一段时间,如果只修改了一部分代码,我只想构建那个项目。

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

NOTE: My project uses Node.js and Webpack and builds using Docker Compose.

CI 触发器上有一个路径过滤器。您可以使用它在同一个单声道存储库上触发更多单独的构建定义。

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