我们有一个场景,一旦我们在 Azure DevOps 中手动取消了一个管道,我们就需要终止一个特定的进程 (exe)。我们想知道如何在取消后的 YAML 中触发任务,以实现这一目标。
最佳答案
请尝试以下方法:
如果您的管道中有多个作业,请确保在所有其他作业完成处理(
成功
、失败
或取消
)。您可以使用 'dependsOn' 键来设置作业的执行顺序。有关详细信息,请参阅“Dependencies”。然后,正如
@ShaykiAbramczyk
提到的,在终止特定进程 (exe)
的工作中,您可以使用 'condition
' 指定作业运行条件的键。有关详细信息,请参阅“Conditions”。jobs: . . . - job: string dependsOn: string condition: eq(variables['Agent.JobStatus'], 'Canceled')
如果您的管道中只有一个作业,请确保
终止特定进程 (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/