始终:Azure DevOps 管道中的真实行为问题
always: true behaviour issue in Azure DevOps pipelines
我想要实现的目标:运行 管道仅在 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
我目前拥有的:
- 失败的管道按预期工作
- 成功的管道在第一次成功后停止工作 运行。它甚至不会在手动触发时启动 运行 失败。
- 所有管道都有正确的“预定 运行s”选项卡。
- 每个管道都没有在 UI
上配置任何 trigger/schedule
我做错了什么?
您可以查看此常见问题解答:
I see the planned run in the Scheduled runs panel. However, it does not run at that time. Why?
- 计划的 运行s 面板显示所有可能的计划。但是,除非您对代码进行了真正的更新,否则它实际上可能不是 运行。要强制计划始终 运行,请确保您已在 YAML 管道中设置始终 属性,或在经典管道中选中始终 运行 的选项。
还有这个My YAML schedules were working fine. But, they stopped working now. How do I debug this?
根据描述,您可以对 YAML 文件进行一些细微的更改,然后将更新推送到您的存储库。
您也可以尝试创建一个新的 YAML 构建并检查结果。
哎呀,看来找到原因了。计划运行选项卡让我有点困惑。
所以,根据描述,我是否应该将 cron timer 放入 master 中才能使此选项卡工作?
在这里你可以看到它提到了默认分支(对我来说是master)。我必须将确切的 yml 放入 master 中才能使此选项卡显示未来的计划运行。但是 master 分支中的 always: true
似乎无关紧要,它应该应用于您 运行 管道的分支(对我来说是集成测试)。看起来在尝试修复东西的某个时候我已经将 always: true
放入了 master 的 pipeline.yml,但没有放入集成测试的
当我为两个 yml 添加选项时,一切都按预期开始工作。
但是,当我查看具有时间表约束的管道时,我变得更加困惑。没有schedule的时候说的是default branch,现在显示refs/heads/integration-tests
??它从哪里获取 cron?
我想要实现的目标:运行 管道仅在 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
我目前拥有的:
- 失败的管道按预期工作
- 成功的管道在第一次成功后停止工作 运行。它甚至不会在手动触发时启动 运行 失败。
- 所有管道都有正确的“预定 运行s”选项卡。
- 每个管道都没有在 UI 上配置任何 trigger/schedule
我做错了什么?
您可以查看此常见问题解答:
I see the planned run in the Scheduled runs panel. However, it does not run at that time. Why?
- 计划的 运行s 面板显示所有可能的计划。但是,除非您对代码进行了真正的更新,否则它实际上可能不是 运行。要强制计划始终 运行,请确保您已在 YAML 管道中设置始终 属性,或在经典管道中选中始终 运行 的选项。
还有这个My YAML schedules were working fine. But, they stopped working now. How do I debug this?
根据描述,您可以对 YAML 文件进行一些细微的更改,然后将更新推送到您的存储库。
您也可以尝试创建一个新的 YAML 构建并检查结果。
哎呀,看来找到原因了。计划运行选项卡让我有点困惑。
所以,根据描述,我是否应该将 cron timer 放入 master 中才能使此选项卡工作?
在这里你可以看到它提到了默认分支(对我来说是master)。我必须将确切的 yml 放入 master 中才能使此选项卡显示未来的计划运行。但是 master 分支中的 always: true
似乎无关紧要,它应该应用于您 运行 管道的分支(对我来说是集成测试)。看起来在尝试修复东西的某个时候我已经将 always: true
放入了 master 的 pipeline.yml,但没有放入集成测试的
当我为两个 yml 添加选项时,一切都按预期开始工作。
但是,当我查看具有时间表约束的管道时,我变得更加困惑。没有schedule的时候说的是default branch,现在显示refs/heads/integration-tests
??它从哪里获取 cron?