You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Azure Pipeline不同阶段/模板设置不同调度计划?

实现按日期运行不同Azure Pipeline阶段的方案

不能直接为单个阶段或步骤设置独立的调度触发器,因为Azure Pipeline的调度规则是作用于整个管道的。但可以通过全局调度+阶段条件判断的方式,实现不同日期运行对应阶段/模板的需求,具体操作如下:

1. 保留全局周一至周五的调度配置

不管是通过UI还是YAML定义,先保留原有的周一至周五触发规则,确保管道每天都会被触发执行。

2. 利用系统变量判断当前日期

Azure Pipeline内置了$(System.DayOfWeek)系统变量,它会返回当前日期对应的英文星期全称(如Monday、Friday),我们可以用这个变量给每个阶段添加运行条件。

3. 给阶段添加条件控制示例

假设你的管道包含三个阶段,分别对应不同的运行日期,YAML配置可以这么写:

stages:
- stage: Monday_Stage
  # 仅周一运行该阶段
  condition: eq(variables['System.DayOfWeek'], 'Monday')
  jobs:
  - template: templates/monday-template.yml

- stage: Midweek_Stage
  # 周二至周四运行该阶段
  condition: in(variables['System.DayOfWeek'], 'Tuesday', 'Wednesday', 'Thursday')
  jobs:
  - template: templates/midweek-template.yml

- stage: Friday_Stage
  # 仅周五运行该阶段
  condition: eq(variables['System.DayOfWeek'], 'Friday')
  jobs:
  - template: templates/friday-template.yml

4. 额外说明

  • 如果需要针对特定日期(而非星期)设置规则,可以结合$(System.Date)变量(格式为yyyy-MM-dd)编写条件
  • 条件支持复杂逻辑组合,比如用or、and串联多个判断规则
  • 全局调度是基础,不能删除,否则对应日期的阶段不会被触发

内容的提问来源于stack exchange,提问作者user17983885

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 09:10:34