[英]Azure DevOps Pipeline - Can I run different tasks based on time of day?
我的倉庫中有兩個 python 文件。 使用 azure 管道,我希望 file1 在一天中的一個特定小時運行,並且我希望 file2 在其余時間的頂部運行。
我目前在 azure_pipeline.yml 文件中定義了一項作業,其中一項任務正在運行 file1。 如何根據上述條件調整作業或任務以運行任一文件?
如何根據上述條件調整作業或任務以運行任一文件?
您可以使用計划觸發器和system.pipelinestarttime
變量來設置條件或 if 表達式。
system.pipelinestarttime 變量的格式: 2022-06-30 03:13:20+00:00
這是一個例子:
schedules:
- cron: " 1 * * * *"
displayName: Daily midnight build
branches:
include:
- main
always: true
pool:
vmImage: ubuntu-latest
steps:
- ${{ if and(eq(variables['Build.Reason'], 'Schedule'), contains(variables['system.pipelinestarttime'], 'time for example: 3:14')) }}:
- task: file 1
- ${{ else }}:
- task: file 2
有關更多詳細信息,您可以參考此文檔: Scheduled triggers and Expressions
更新:
您可以使用兩個單獨的管道來使用這些文件。
這是一個例子:
YAML 1:
schedules:
- cron: " * 1 * * *"
displayName: specific hour
branches:
include:
- main
always: true
pool:
vmImage: ubuntu-latest
steps:
- task: file 1
YAML 2
schedules:
- cron: " 1 * * * *"
displayName: Other hours
branches:
include:
- main
always: true
pool:
vmImage: ubuntu-latest
steps:
- task: file 2
創建管道時,您可以選擇 YAML 文件來創建管道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.