Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure devops 特定阶段Azure管道多级中的计划触发器_Azure Devops_Azure Pipelines_Crontrigger - Fatal编程技术网

Azure devops 特定阶段Azure管道多级中的计划触发器

Azure devops 特定阶段Azure管道多级中的计划触发器,azure-devops,azure-pipelines,crontrigger,Azure Devops,Azure Pipelines,Crontrigger,我在Azure DevOps上有一个多级管道,我想每晚触发其中一个阶段,但其他阶段将由GitHub回购的更改触发。 我想知道是否有可能只在一个阶段使用预定触发器,如果有,如何使用?正如我在谷歌中发现的,它似乎只适用于整个管道。 在一个特定的日子和时间里,怎么可能只触发一个阶段 以下是管道的外观: name: Pipeline trigger: branches: include: - master - refs/tags/v* variables: re

我在Azure DevOps上有一个多级管道,我想每晚触发其中一个阶段,但其他阶段将由GitHub回购的更改触发。 我想知道是否有可能只在一个阶段使用预定触发器,如果有,如何使用?正如我在谷歌中发现的,它似乎只适用于整个管道。 在一个特定的日子和时间里,怎么可能只触发一个阶段

以下是管道的外观:

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:
我想知道是否有可能只在一个阶段使用预定触发器,如果有,如何使用?正如我在谷歌中发现的,它似乎只适用于整个管道。在一个特定的日子和时间里,怎么可能只触发一个阶段

恐怕没有这种现成的方法来实现这一点。正如您所知,它仅适用于整个管道

作为解决此问题的方法,您可以为此管道设置UI定义的计划触发器:

然后为
Deploy\u Test
阶段的作业添加一个:

 - stage: Deploy_Test
   jobs:      
   - job:
     condition: and(always(), eq(variables['Build.Reason'], 'Schedule'))
     steps:
在这种情况下,仅当构建由计划触发器触发时才执行阶段。如果生成是由GitHub repo中的更改触发的,则将跳过阶段
Deploy\u Test
阶段:

注意:此解决方法的限制是,当您的管道由计划触发器触发时,也会执行stage
build
Deploy\u Dev

希望这有帮助