您如何安排一个阶段在多阶段 azure devops 管道中在一天中的特定时间运行,但只针对最新版本?
根据您的要求,我建议您可以使用cron 参数(计划触发器)来设置部署。然后它可以安排一个阶段在一天中的特定时间运行。
我将如何确保它只安排最新的
要使用最新的工件,您可以在部署阶段添加 [下载构建/管道工件任务]
2并将版本设置为最新。
同时,您可以使用条件来确定要运行的阶段。
这是我的例子:
schedules:
- cron: "0 0 * * *"
displayName: Daily midnight build
branches:
include:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: A
condition: eq(variables['Build.Reason'], 'IndividualCI')
jobs:
- job: A1
steps:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.Sourcesdirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
- stage: B
condition: eq(variables['Build.Reason'], 'Schedule')
jobs:
- job: B1
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'specific'
project: 'Googletest'
pipeline: '507'
buildVersionToDownload: 'latest'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.ArtifactsDirectory)'
结果:
当您签入更改并触发构建时,它将运行第一阶段(构建)。
当管道由 Schedule 触发时,它将运行第二阶段(部署)。

部署阶段将下载最新的工件。然后,那天运行了多少构建并不重要。