最近几天Windows流水线的增量构建失效了,每次提交代码,都会触发版本全量代码的编译和链接,耗时接近1个小时,而之前只要不到10分钟,此时再好脾气的人都会被磨得失去耐心。
一条完整的流水线,包括流水线任务的配置、构建脚本、项目的CMake配置文件、执行机以及执行机上的执行环境等。
考虑到这个现象是本周出现的,因而只需排查本周对流水线的变更。
本周对流水线增加了静态检查的任务,不涉及编译,因此可以排除。
本周
同时在Linux的流水线上并没有相同的问题,因此可以排队源代码自身的原因,同样可以排队CMake配置文件的嫌疑,那么只因而排查范围可以缩小到本周对构建脚本做的修改。
依据提交记录,使用二分法排查构建相关的提交记录,找到变动点,同时在本地使用构建参数做验证,很快找到了引发问题的参数,即本文标题中提到的TrackFileAccess
。
本地执行如下命令,可以观察到增量构建完全失效。
cmake --build build --config Release -- /m /p:TrackFileAccess=false
相关资料,见如下链接: