Azure devops 始终:Azure DevOps管道中的真实行为问题

Azure devops 始终:Azure DevOps管道中的真实行为问题,azure-devops,azure-devops-pipelines,Azure Devops,Azure Devops Pipelines,我想要实现的是:只在cron timer上运行管道,并在timer上运行管道,始终忽略以前的运行状态 trigger: none # No CI build pr: none # Not for pull requests schedules: - cron: "0 0 * * *" displayName: Daily midnight build branches: include: - integration-tests always:

我想要实现的是:只在cron timer上运行管道,并在timer上运行管道,始终忽略以前的运行状态

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
我目前拥有的:

  • 管道工程按预期失败
  • 成功的管道在第一次成功运行后停止工作。当手动触发运行失败时,它甚至不会启动
  • 所有管道都有正确的“计划运行”选项卡
  • 每个管道都没有通过UI配置任何触发器/计划

  • 我做错了什么?

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

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

    根据描述,您可以对YAML文件进行一个很小的更改,并将更新推送到存储库中


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

    Oof,看起来我找到了原因。“计划跑步”选项卡让我有点困惑

    所以,根据描述,我应该将cron定时器放入master中以使该选项卡工作吗

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

    当我把两个yml的选择,一切都开始工作的预期

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


    是否有人手动安排此管道的运行?根据文档,如果有人通过UI计划运行,您的计划运行将不受尊重。@WaitingForGuacamole是的,这是为第二种情况手动计划的(管道失败,您可以在第二个屏幕截图上看到)。但它发生在上次运行的几天后,不确定是否相关。我有6条管道,其中2条管道一直在运行(它们从未成功),另外4条管道在第一次成功的计划运行后再也没有执行过。我想知道您是否需要通过推动一个微不足道的更改来将其“踢”回运行计划?这是我能看到的唯一一件可能相关的事情——他们提到UI计划运行意味着不遵守计划,但他们没有指出时间刻度(这是永久的吗?@WaitingForGuacamole ok,将从头开始创建具有相同yml的管道,并将某些内容推给master,以尝试“刷新”现有管道。如果你感兴趣的话,经过几天的观察,我会提到你:)@VitoLiu MSFT嗨,谢谢你的提问。我仍在观察新管道和现有管道的行为,以确保我在任何一步都没有失败。明天将发布更新请检查我发布的答案。不确定这篇文章是否可以算作“由打字错误引起”,是否应该删除。