是否存在根据Azure DevOps中触发管道的状态从另一个管道触发管道的规定?
答案 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。
在此之前,您可以尝试这种解决方法。
希望这会有所帮助。