我需要设置一个具有 2 个已定义计划的管道,一个用于在作业 1 中执行脚本 x,一个用于在作业 2 中执行脚本 y。
我会尝试在代码片段中展示我需要的内容:
schedules:
- cron: '0 16 * * *'
displayName: 'schedule 1'
branches:
include:
- master
always: True
- cron: '0 4 * * *'
displayName: 'schedule 2'
branches:
include:
- master
always: True
jobs:
- job: job x
condition: eq( variables.schedule, 'schedule 1')
...
- job: job y
condition: eq( variables.schedule, 'schedule 2')
我定义了两个计划,它们运行正确,但是我似乎无法弄清楚如何让作业“条件”符合当前的运行计划。
我找不到任何关于预定义变量的内容来说明有关时间表的任何信息。
预定义变量Build.CronSchedule.DisplayName可用于条件决策。链接中还给出了一个示例。
对于给定的情况:
schedules:
- cron: '0 16 * * *'
displayName: 'schedule 1'
branches:
include:
- master
always: True
- cron: '0 4 * * *'
displayName: 'schedule 2'
branches:
include:
- master
always: True
...
jobs:
- job: job x
condition: eq(variables['Build.CronSchedule.DisplayName'], 'schedule 1')
...
- job: job y
condition: eq(variables['Build.CronSchedule.DisplayName'], 'schedule 2')