我需要设置一个具有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')
我定义了这两个调度,它们运行正确,但我似乎不能弄清楚如何使作业“条件”符合当前的运行调度。
我找不到任何关于预定义变量的信息,这些变量说明了时间表。
1条答案
按热度按时间z0qdvdin1#
看起来它应该被分成两个独立的管道,如果他们必须共享其他作业,你可以导入他们作为一个template,以避免代码重复。
如果由于某种原因,它们必须在同一管道中,则可以创建一个简单的脚本,检查当前时间是否更接近
schedule 1
或schedule 2
,并根据输出跳过其中一个作业:condition: eq(dependencies.Foo.outputs['CheckTime.skipJob'], 'schedule 1')