0

我想要实现的目标:仅在 cron 计时器上运行管道并在计时器上运行它总是忽略以前的运行状态

trigger: none # No CI build

pr: none # Not for pull requests

schedules:
- cron: "0 0 * * *"
  displayName: Daily midnight build
  branches:
    include:
    - integration-tests
  always: true

我目前拥有的:

  1. 失败的管道按预期工作

在此处输入图像描述

  1. 第一次成功运行后,成功的管道停止工作。当手动触发运行失败时,它甚至不会启动。

在此处输入图像描述

  1. 所有管道都有正确的“计划运行”选项卡。

在此处输入图像描述

  1. 每个管道都没有通过 UI 配置任何触发器/计划

在此处输入图像描述

我究竟做错了什么?

4

2 回答 2

1

您可以查看此常见问题解答:

我在“计划运行”面板中看到了计划运行。但是,它当时不运行。为什么?

  • 计划运行面板显示所有可能的计划。但是,除非您对代码进行了真正的更新,否则它可能不会真正运行。要强制计划始终运行,请确保您已在 YAML 管道中设置 always 属性,或选中始终在经典管道中运行的选项。

的 YAML 时间表运行良好。但是,他们现在停止了工作。我该如何调试?

根据描述,你可以对你的 YAML 文件做一个小改动,然后将更新推送到你的存储库。

您还可以尝试创建一个新的 YAML 构建并检查结果。

于 2021-02-25T03:04:28.407 回答
0

哦,看来我找到了原因。计划运行选项卡让我感到有些困惑。

在此处输入图像描述

那么,根据描述,我应该将 cron timer 放入 master 以使该选项卡工作吗?

在这里您可以看到它提到了默认分支(对我来说是主分支)。我必须将确切的 yml 放入 master 以使此选项卡显示未来的计划运行。但是always: true在主分支中似乎无关紧要,它应该应用于您正在运行管道的分支(对我来说是集成测试)。看起来在尝试修复我放入always: truemaster 的 pipeline.yml 中的东西时的某个时候,但不是在集成测试中

当我为两个 yml 设置选项时,一切都开始按预期工作。

但是,当我查看绑定了时间表的管道时,我变得更加困惑。没有计划时提到默认分支,现在显示refs/heads/integration-tests??cron 从哪里来?

在此处输入图像描述

于 2021-03-02T18:24:20.810 回答