Azure devops Azure管道跳过计划的作业

Azure devops Azure管道跳过计划的作业,azure-devops,conditional-statements,azure-pipelines,scheduled-tasks,azure-pipelines-yaml,Azure Devops,Conditional Statements,Azure Pipelines,Scheduled Tasks,Azure Pipelines Yaml,我有一个非常简单的管道,它有一个1个阶段和一个1个作业,打印出Hello World 我希望仅根据时间表触发该阶段(而不是在我按下按钮时) 目前,有两个问题 当我按下按钮时,舞台被触发 作业被跳过,并显示一条消息作业被跳过。我不知道原因 我尝试了不同的条件eq(变量['Build.Reason'],'Schedule') 我也尝试过在有条件的阶段之前再进行一个阶段 - stage: A jobs: - job: A1 steps: - script: echo Hel

我有一个非常简单的管道,它有一个1个阶段和一个1个作业,打印出
Hello World

我希望仅根据时间表触发该阶段(而不是在我按下按钮时)

目前,有两个问题

  • 当我按下按钮时,舞台被触发
  • 作业被跳过,并显示一条消息
    作业被跳过。
    我不知道原因
  • 我尝试了不同的条件
    eq(变量['Build.Reason'],'Schedule')

    我也尝试过在有条件的阶段之前再进行一个阶段

    - stage: A
      jobs:
      - job: A1
        steps:
          - script: echo Hello Stage A!
    

    我已经看过微软的了。

    要使管道不通过推送触发,请添加
    trigger:none
    。更多信息

    至于被跳过的工作,你似乎已经找到了答案,但作为参考,这种事情可能会在需要注意的时候发生。

    解决方案是

    trigger: none
    
    schedules:
    - cron: "*/5 * * * *"
      displayName: Run every 5 Mins
      branches:
        include:
        - main
      always: true  
    
    stages:
    - stage: BatchRun
      displayName: Batch Run
      jobs:
      - job: Echo
        steps:
        - script: 'echo "Hello World"'
    
  • 要添加@psfinaki提到的
    trigger:none
    ,以便作业不会在提交时运行
  • 因为在本例中我只有一个阶段,所以我将
    条件一起删除。如果有多个阶段,那么这些阶段将有条件成为目标

  • 我猜跳过是因为ADO没有将跑步视为一个计划,因为它听起来像是每一次推送都在进行。您要推送到master的分支是另一个分支还是另一个分支?@DreadFrost在master上,是否有任何方法可以检查(日志)或其他方法来确认作业是否按计划进行?您的管道正在查找
    main
    如果要在管道运行后进行检查,请单击汉堡包菜单并下载日志。有一个azure-pipelines.expanded.yaml文件我正在用掌上电脑复制,复制和粘贴的副作用刚刚纠正,我的第二个阶段现在正在运行,将等待,看看它是否会在5分钟内再次运行。也将检查当我再次提交时会发生什么,谢谢。稍后将在此更新。在默认设置从
    master
    切换到
    main
    :)后,我的管道也出现了同样的问题
    trigger: none
    
    schedules:
    - cron: "*/5 * * * *"
      displayName: Run every 5 Mins
      branches:
        include:
        - main
      always: true  
    
    stages:
    - stage: BatchRun
      displayName: Batch Run
      jobs:
      - job: Echo
        steps:
        - script: 'echo "Hello World"'