Azure Pipeline 多阶段中针对特定阶段的预定触发器
Scheduled trigger in Azure Pipeline multistage for a spesific stage
我在 Azure DevOps 上有一个多阶段管道,我想每晚触发其中一个阶段,但其他阶段将由 GitHub 存储库的更改触发。
我想知道是否可以只对一个阶段使用预定触发器,如果可以的话如何?正如我在 google 中发现的那样,它似乎只适用于整个管道。
怎么可能在特定的日期和时间只触发一个阶段?
这是管道的样子:
name: Pipeline
trigger:
branches:
include:
- master
- refs/tags/v*
variables:
resources:
repositories:
stages:
- stage: Build
jobs:
- job: Build
steps:
pool:
vmImage: 'ubuntu-latest'
- stage: Deploy_Dev
variables:
jobs:
- steps:
###Nightly triggered
- stage: Deploy_Test
variables:
jobs:
- steps:
I'm wondering if it is possible to use scheduled trigger for only one Stage, if so how? as I found in google, it seems it is only for entire pipeline. How is it possible to trigger only one Stage in a specific day and time?
恐怕没有这种开箱即用的方法可以实现。如您所知,它仅适用于整个管道。
作为此问题的解决方法,您可以为此管道设置UI 已定义的预定触发器:
然后为Deploy_Test
阶段的作业添加一个custom condition:
- stage: Deploy_Test
jobs:
- job:
condition: and(always(), eq(variables['Build.Reason'], 'Schedule'))
steps:
在这种情况下,该阶段仅在计划触发器触发构建时执行。如果构建是由 GitHub repo 中的更改触发的,将跳过 Deploy_Test
阶段:
注意:此解决方法的局限性在于,当您的管道被计划的触发器触发时,阶段 build
和 Deploy_Dev
也会执行。
希望对您有所帮助。
我在 Azure DevOps 上有一个多阶段管道,我想每晚触发其中一个阶段,但其他阶段将由 GitHub 存储库的更改触发。 我想知道是否可以只对一个阶段使用预定触发器,如果可以的话如何?正如我在 google 中发现的那样,它似乎只适用于整个管道。 怎么可能在特定的日期和时间只触发一个阶段?
这是管道的样子:
name: Pipeline
trigger:
branches:
include:
- master
- refs/tags/v*
variables:
resources:
repositories:
stages:
- stage: Build
jobs:
- job: Build
steps:
pool:
vmImage: 'ubuntu-latest'
- stage: Deploy_Dev
variables:
jobs:
- steps:
###Nightly triggered
- stage: Deploy_Test
variables:
jobs:
- steps:
I'm wondering if it is possible to use scheduled trigger for only one Stage, if so how? as I found in google, it seems it is only for entire pipeline. How is it possible to trigger only one Stage in a specific day and time?
恐怕没有这种开箱即用的方法可以实现。如您所知,它仅适用于整个管道。
作为此问题的解决方法,您可以为此管道设置UI 已定义的预定触发器:
然后为Deploy_Test
阶段的作业添加一个custom condition:
- stage: Deploy_Test
jobs:
- job:
condition: and(always(), eq(variables['Build.Reason'], 'Schedule'))
steps:
在这种情况下,该阶段仅在计划触发器触发构建时执行。如果构建是由 GitHub repo 中的更改触发的,将跳过 Deploy_Test
阶段:
注意:此解决方法的局限性在于,当您的管道被计划的触发器触发时,阶段 build
和 Deploy_Dev
也会执行。
希望对您有所帮助。