如果在天蓝色devops中警告A的管道状态,则不会从另一个管道A触发管道B

时间:2020-06-25 09:10:58

标签: azure-devops

是否存在根据Azure DevOps中触发管道的状态从另一个管道触发管道的规定?

1 个答案:

答案 0 :(得分:0)

是否存在根据Azure DevOps中触发管道的状态从另一个管道触发管道的规定?

通常,我们可以将pipeline trigger设置为触发另一个管道。但是从官方文档来看,似乎没有没有这样的方式来判断依赖项管道的状态。

根据我的测试,警告管道A确实可以触发管道B。

解决方法:

您可以尝试使用Trigger Build Task扩展名。该扩展名包含Trigger Build task

以下是步骤:

在管道A中:您可以在管道A定​​义的末尾添加触发器构建任务。

例如:

- task: TriggerBuild@3
  inputs:
    definitionIsInCurrentTeamProject: true
    buildDefinition: 'Pipeline B'
    queueBuildForUserThatTriggeredBuild: true
    ignoreSslCertificateErrors: false
    useSameSourceVersion: false
    useCustomSourceVersion: false
    useSameBranch: true
    waitForQueuedBuildsToFinish: false
    storeInEnvironmentVariable: false
    authenticationMethod: 'Personal Access Token'
    password: 'PAT token'
    enableBuildInQueueCondition: false
    dependentOnSuccessfulBuildCondition: true
    dependentBuildsList: 'Pipeline A'
    dependentOnFailedBuildCondition: false
    checkbuildsoncurrentbranch: false
    failTaskIfConditionsAreNotFulfilled: false
condition: always()

注意:您需要向此任务添加个人访问令牌,并将条件设置为always()

在管道B中:

删除管道资源触发器。

在这种情况下,只有当管道A成功时,它才会触发管道B。

如果管道A是警告或失败,它将不会触发管道B。

顺便说一句,我注意到您在UserVoice网站上报告了suggestion ticket

在此之前,您可以尝试这种解决方法。

希望这会有所帮助。