我在Azure DevOps中运行构建管道,以每天更新Dockerfile并重建具有更新依赖性的容器映像。目的是获得项目依赖项的最新版本,并在容器注册表中发布新的工件。
在Azure DevOps中,我具有三个链式构建管道。每天使用计划的触发器触发第一个管道。接下来的两个管道由CI触发文件路径过滤器触发。在大多数情况下,这一切都很好。
我的问题是时间表有时根本没有触发。这发生在管道正常运行几天(大约1到15天)之后。如果未选中复选框“ 仅在源或管道已更改的情况下,仅生成时间表,则”,因此没有提交应该不是问题。
出现此问题之后的奇怪事情是,当我登录到Azure DevOps门户时,立即触发了计划事件,并且可以看到最新的每日生成开始运行。我不需要手动启动它,它会像计划的那样自动启动,但是在我登录时是这样。
此项目与Azure DevOps的免费版本一起运行。当Azure DevOps是VSTS时创建了项目和管道,而VSTS中也存在相同的触发问题。有时我用完了免费配额,然后收到错误消息,指出无法启动代理。如果计划的触发器未运行,则不是这种情况。
什么可能导致时间表触发问题?你们中有人遇到过同样的问题吗?如何调试或解决此问题并使我的构建可靠运行?我找不到有关触发事件的任何调试信息,只有触发发生后才从代理记录日志。在这种情况下,我还没有重新创建管道来确定“重新启动”是否有帮助。如果没有更好的答案,这就是我的下一步。
答案 0 :(得分:7)
来自文档:
我的构建未运行。发生什么事了?
您的Azure DevOps组织在上一个用户退出后五分钟进入休眠状态。之后,每个构建管道将再运行一次。例如,当您的组织处于休眠状态时:
https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=vsts&tabs=yaml