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

如何通过Cron配置Azure Pipeline:排除隔周周四、周五每日运行

Azure Pipeline Cron 配置:每日运行但排除隔周的周四、周五

你的当前配置0 19 * * 1-5仅在周一至周五19点执行,既不满足“每日运行”的要求,也无法实现隔周排除周四、周五的逻辑。以下是两种可行的解决方案:

方案1:单Schedule + Job条件控制(推荐)

设置一个每日运行的Cron规则,然后通过Job条件判断是否跳过隔周的周四、周五执行。

修改后的Schedule配置

schedules:
- cron: 0 19 * * *
  displayName: daily-evening-deployment
  branches:
    include: 
    - develop
  always: false

添加Job执行条件

在流水线的Job中加入条件判断,排除指定周数的周四、周五。示例中以偶数周排除为例,若需排除奇数周,将eq(mod(int(variables['System.WeekOfYear']), 2), 0)改为eq(mod(int(variables['System.WeekOfYear']), 2), 1)即可:

jobs:
- job: DeploymentJob
  condition: |
    not(
      and(
        or(eq(variables['System.DayOfWeek'], 'Thursday'), eq(variables['System.DayOfWeek'], 'Friday')),
        eq(mod(int(variables['System.WeekOfYear']), 2), 0)
      )
    )
  steps:
    # 此处添加你的部署步骤

说明:System.WeekOfYear基于UTC时间计算,若需按本地时间判断周数,可通过PowerShell任务转换时间后再做判断。

方案2:拆分双Schedule(无额外条件判断)

将执行规则拆分为两个Schedule,分别覆盖非周四/周五的所有日期,以及非排除周的周四/周五:

  1. 覆盖周一至周三、周六至周日的每日执行:
schedules:
- cron: 0 19 * * 0-3,6
  displayName: non-thu-fri-daily-deployment
  branches:
    include: 
    - develop
  always: false
  1. 针对周四/周五的执行需结合周数判断,由于Azure Cron不直接支持周数过滤,仍需在对应的Job中添加方案1中的条件逻辑,因此方案1更简洁高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 10:35:27