首页 > 解决方案 > 在 azure devops 中成功完成发布后如何触发构建?

问题描述

我在 azure-devops 中有构建和发布定义。我希望在发布完成后触发构建,我不重复这些步骤,我想触发已经存在的构建定义。我试图弄清楚如何在 azure-devops 中做到这一点。

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

在此处输入图像描述

标签: tfsazure-devops

解决方案


目前不支持此功能。本文档包含所有 Azure DevOps 触发事件。目前发布完成无法触发构建。

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

电源外壳脚本:

$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

此外,我们可以添加扩展触发 Azure DevOps Pipeline ,然后Trigger Azure DevOps Pipeline在作业结束时添加任务以触发构建。

结果:

在此处输入图像描述


推荐阅读