【发布时间】:2021-04-01 19:10:44
【问题描述】:
在 Jenkins CI 中,有一个“Retry build after failure”的插件,我们可以在其中指定我们希望构建在作业失败时自动触发的次数。
在 Azure Devops 中是否有类似的东西,当构建失败时管道将自动触发?
【问题讨论】:
标签: azure-devops
在 Jenkins CI 中,有一个“Retry build after failure”的插件,我们可以在其中指定我们希望构建在作业失败时自动触发的次数。
在 Azure Devops 中是否有类似的东西,当构建失败时管道将自动触发?
【问题讨论】:
标签: azure-devops
目前,在 Azure Devops 中,我们没有这样的自动重试选项。
您可以在这里查看用户语音票Rerun failed build task/step:
但是有一个rest api你可以指定?retry=true:
PATCH https://dev.azure.com/{organizationName}/{ProjectID}/_apis/build/builds/{BuildID}?retry=true
这将有助于重新运行失败的作业。
我创建了一个 PowerShell 演示:
$connectionToken="$(PAT)"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$response = Invoke-RestMethod
-Uri 'https://dev.azure.com/MyCustomOrganization/MyTestProject/_apis/build/builds/7364?retry=true&api-version=6.0'
-ContentType "application/json-patch+json"
-Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
-Method PATCH
希望对你有帮助
【讨论】:
Unable to retry pipeline 20210810.6 because it is not currently in the completed state。有什么解决方法吗?
自 2021 年 11 月起重试失败的任务似乎是可能的,至少在 YAML 管道中是这样。
文档:Automatic retries for a task
- task: <name of task>
retryCountOnTaskFailure: <max number of retries>
虽然这不会重试整个管道,但对于许多用例来说可能就足够了。
【讨论】: