如何在 azure devops 中成功完成发布后触发构建?

How to trigger build after release is completed successfully in azure devops?

我在 azure-devops 中有构建和发布定义。我希望在发布完成后触发构建,我不重复这些步骤,我想触发已经存在的构建定义。我正在尝试弄清楚如何在 azure-devops 中执行此操作。

当我告诉构建它是端到端测试。这个想法是 运行 发布完成后的端到端测试。请注意,我已经构建了 E2E 测试,在这里我重复了这些步骤,而不是我只想引用现有构建并触发它。任何有关如何执行此操作的建议或帮助都会有很大帮助。

目前不支持。此 document 具有所有 Azure DevOps 触发事件。当前发布完成无法触发构建。

作为解决方法,我们可以打开发布定义并在末尾添加任务 power shell 以调用 REST API 触发构建。

电源shell脚本:

$token = "{PAT}"   
$url = "https://dev.azure.com/{Org name}/{project name}/_apis/build/builds?api-version=6.1-preview.6"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))


$JSON = @"
{
  "definition": {
    "id": {Build Definition ID}
  }
}
"@

$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Post -ContentType application/json -body $JSON

另外,我们可以添加扩展 Trigger Azure DevOps Pipeline 然后在作业末尾添加任务Trigger Azure DevOps Pipeline以触发构建。

结果: