如何在 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
以触发构建。
结果:
我在 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
以触发构建。
结果: