Azure DevOps定时Cron触发器未收集所有提交变更的问题咨询
Azure DevOps定时流水线变更记录不全问题排查与解决
问题1:定时构建仅显示最新提交,如何展示两次构建间的所有提交?
核心原因
定时触发器的基准构建判断逻辑导致:当设置always: true时,Azure DevOps默认以上次成功完成的定时构建作为变更对比基准。如果中间有定时构建失败或被取消,系统会跳过这些记录,直接选取更早的成功构建作为基准,最终仅显示最新的单次提交。
解决方案
- 调整
always与batch参数组合:
保持always: true(确保每日必跑),将batch设为true。batch: true会合并两次定时运行间隔内的所有变更,且系统会以上一次触发的定时构建(无论成功失败)作为基准,完整捕获期间所有提交。
修改后的schedules配置示例:schedules: - cron: '0 11 * * 1-5' displayName: Livraison automatique en recette always: true batch: true branches: include: - develop - 确认基准构建:在流水线运行历史的「变更」页面,查看当前构建的对比基准ID。若基准不是上一次定时构建,说明系统基准判断异常,可手动触发一次流水线作为新基准,后续定时构建会以此为起点累积变更。
- 检查仓库分支配置:确保
resources.repositories.self.ref指向的是develop分支而非固定commit,避免分支引用固定导致变更无法被捕获。
问题2:某个job设置continueOnError: true是否会导致该问题?
不会。continueOnError: true仅控制当该job失败时,流水线是否继续执行后续阶段,完全不影响Azure DevOps对构建基准的判断和变更对比逻辑,因此不是变更记录不全的原因。
内容的提问来源于stack exchange,提问作者Alexis JACOB
相关产品推荐
相关产品推荐

