Rom*_*kha 5 azure devops azure-devops azure-pipelines azure-pipelines-release-pipeline
我正在查看天蓝色触发器文档,但仍然无法找到合适的解决方案。在管道 1 执行过程中,如何触发管道 2,等待其成功完成或失败,并根据管道 2 的结果继续执行管道 1 或失败?
在管道 1 执行过程中,如何触发管道 2,等待其成功完成或失败,并根据管道 2 的结果继续执行管道 1 或失败?
触发一个又一个管道,它将在触发管道成功完成后运行您的管道。我们不能在管道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
Run Code Online (Sandbox Code Playgroud)
b. 添加任务电源shell并输入代码Start-Sleep -Seconds 1000
使管道1休眠
C。在管道1中添加任务power shell,通过REST API获取管道2的构建结果,并将结果设置为env变量。
d. 配置下一个任务中的条件以检查 env 变量值。如果值为succeeded
,则继续运行管道 1
归档时间: |
|
查看次数: |
7365 次 |
最近记录: |