azure-devops - Azure Pipelines 中的后取消任务

标签 azure-devops azure-pipelines azure-pipelines-yaml

我们有一个场景,一旦我们在 Azure DevOps 中手动取消了一个管道,我们就需要终止一个特定的进程 (exe)。我们想知道如何在取消后的 YAML 中触发任务,以实现这一目标。

最佳答案

请尝试以下方法:

  1. 如果您的管道中有多个作业,请确保在所有其他作业完成处理(成功失败取消)。您可以使用 'dependsOn' 键来设置作业的执行顺序。有关详细信息,请参阅“Dependencies”。

    然后,正如 @ShaykiAbramczyk 提到的,在终止特定进程 (exe) 的工作中,您可以使用 'condition' 指定作业运行条件的键。有关详细信息,请参阅“Conditions”。

    jobs:
    . . .
    - job: string
      dependsOn: string
      condition: eq(variables['Agent.JobStatus'], 'Canceled')
    
  2. 如果您的管道中只有一个作业,请确保终止特定进程 (exe) 的任务是该作业的最后一步。您需要将此任务放在此作业的步骤列表的底部。

    然后还需要在任务上指定条件以终止特定进程(exe)

    • 如果在此步骤中使用'condition'键,则无论是否跳过此步骤,该步骤将始终在作业运行中列出并显示还是不是。

      steps:
      - step: string
         condition: eq(variables['Agent.JobStatus'], 'Canceled')
      
    • 如果在步骤上使用'if'语句,只有当'if'条件满足时,该步骤才会被列出并显示在作业运行中遇到并运行这一步。如果不满足条件而跳过该步骤,则该步骤将隐藏在作业运行中。

      steps:
      - ${{ if eq(variables['Agent.JobStatus'], 'Canceled') }}:
         - step: string
      

关于azure-devops - Azure Pipelines 中的后取消任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66637708/

相关文章:

python - 使用 azure 管道和诗歌,有什么方法可以避免在每个脚本中采购 ~/.poetry/env ?

azure - 如何获取Azure Marketplace发布者ID和产品信息?

tfs - 如何在 Visual Studio Team Services 中创建分支?

azure-devops - 在完成时从 Azure Devops Build Pipeline 设置 Git 标签

visual-studio-2013 - 最近 VSO 更新后,将 Ranorex CodedUI 测试链接到 MTM/VSO 2013 CI 时出现问题

azure-devops - Gitversion 在 devops 构建中使用日期作为主要版本

azure - 如何在Azure Devops YAML脚本中执行算术运算?

Azure 管道条件

azure-devops - 在构建任务中强制执行 PowerShell

Azure Pipeline Matrix策略变量扩展问题与模板结合使用