gpt4 book ai didi

azure - 从另一个管道触发 Azure DevOps 管道

转载 作者:行者123 更新时间:2023-12-05 02:04:47 25 4
gpt4 key购买 nike

我正在查看 azure 触发器 documentation并且仍然无法找到合适的解决方案。在管道1执行期间如何触发管道2,等待其成功完成或失败,并根据管道2的结果继续执行管道1或失败?

最佳答案

How during the execution of pipeline 1 can you trigger pipeline 2, wait for it to successfully finish or fail, and based on pipeline 2 results either continue execution of pipeline 1 or fail?

触发一个又一个管道,触发管道成功完成后,它将运行您的管道。我们不能在管道1的执行中使用它来触发管道1。

解决方法:

a.我们可以添加任务电源 shell 并添加脚本来调用 REST API 来对构建进行排队。

$connectionToken="PAT"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$PipelineUrl = "https://dev.azure.com/{Org name}/{project name}/_apis/pipelines/{Pipeline ID}/runs?api-version=6.0-preview.1"

$body ="{
`"resources`":{
`"repositories`":{
`"self`":{`"refName`":`"refs/heads/master`"
}
}
}
}"
$Pipelines = Invoke-RestMethod -Uri $PipelineUrl -ContentType "application/json" -Body $body -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method POST

b.添加任务电源 shell 并输入代码 Start-Sleep -Seconds 1000 使管道 1 休眠

c.在管道1中添加任务power shell,通过REST API,获取管道2的构建结果并将结果设置为环境变量。

d.配置condition在下一个任务中检查环境变量值。如果值为succeeded,则继续运行管道1

关于azure - 从另一个管道触发 Azure DevOps 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64095456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com