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

时间:2018-02-15 07:25:06

标签: git azure-devops azure-pipelines azure-pipelines-build-task monorepo

在VSTS中使用monorepo时,有时我只更新提交中的一个包,而不是所有内容。在这种情况下,我只想运行该特定部分的构建,而不是其他任何内容。

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

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

  

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

1 个答案:

答案 0 :(得分:5)

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

enter image description here

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