在Azure DevOps门户中,选择一个管道,然后选择[...]菜单,然后选择“删除”。
我看到一条消息询问:
确定吗?此操作无法撤消。这将永久 删除管道“ vt3e(1)”。删除包括所有构建和 关联的工件。
我输入管道名称,然后单击“确定”,但管道不会删除。
我已经等了几个小时。
[更新]
Chrome中的F12在控制台中显示错误:
ms.vss-build-web.com-library .__ y__CePsj5f5zdcIK.min.js:18错误: 与所请求的管道相关联的一个或多个构建是 被发布保留。管道和内部版本不会被删除
[更新]
我正在尝试遵循David D给出的答案,但是当我删除版本时,会收到一条消息
VS402946:无法删除“版本8”,因为它当前已部署在 阶段1。
[更新]
答案 0 :(得分:6)
我遇到了同样的问题,并尝试了不同的浏览器,平台等。我发现,通过手动在“发布”选项卡下删除每个发行版,重新进行构建,然后再尝试删除管道对我来说是可行的。
答案 1 :(得分:5)
我上周遇到了同样的问题,我更新了某人的脚本以使用5.1 API。该脚本将在发布管道保留的所有构建上运行。您需要进行一些调整,以免所有版本从发行版中删除。
$tfsServerURL = "https://dev.azure.com/{organisation}"
$TFSProject = "{project}"
$AzureDevOpsPAT = "{token}"
$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":$($AzureDevOpsPAT)"))}
#Set to $true to update builds by settingretainingByRelease= false
$CorrectError = $true
$URL = "$($tfsServerURL)/$($TFSProject)"
Write-Output $URL
#Get all builddefinitions in Project
$Buildefinitions = (Invoke-RestMethod -Uri ($URL + '/_apis/build/definitions?api-version=5.1') -Method GET -UseDefaultCredentials).value
foreach($Builddefiniton in $Buildefinitions)
{
Write-Output "Searching in $($Builddefiniton.name) with id $($Builddefiniton.id)"
#Get Builds with keepforever = false and retainedByRelease = true
$Builds = (Invoke-RestMethod -Uri ($URL + '/_apis/build/builds?definitions=' + $Builddefiniton.id + '&api-version=5.1') -Method GET -UseDefaultCredentials).value | where {$_.keepForever -eq $False -and $_.retainedByRelease -eq $true}
#Get releases linked to the build
foreach ($build in $Builds)
{
If ($CorrectError)
{
Invoke-RestMethod -Uri ($URL + '/_apis/build/builds/'+ $build.id + '?api-version=5.1') -Method Patch -Body (ConvertTo-Json @{"retainedByRelease"='false'}) -Headers $AzureDevOpsAuthenicationHeader -ContentType "application/json" | Out-Null
Write-Output "`tFixed"
}
}
}
PowerShell脚本将首先获取所有构建管道,然后获取未无限保留并由发行版保留的所有构建。如果将CorrectError设置为true,则脚本将尝试将keepedByRelease标志切换为false。
运行此脚本后,我能够删除构建管道。
答案 2 :(得分:2)
enter image description hereenter image description here我遇到了以下同样的问题
与请求的管道关联的一个或多个构建由版本保留。管道和构建不会被删除。
解决这个问题很简单,只需打开要删除的管道,如果您在管道中看到了这个,只需单击三个点 [查看保留租约],然后打开查看保留租约,然后单击全部删除选项并关闭弹出窗口。[运行保留]。执行此操作后,您现在可以自由地删除所需的管道。
答案 3 :(得分:0)
转到管道运行并在您将鼠标悬停在每次运行上时单击 3 个点。您将看到查看保留租约的选项。单击它,然后单击全部删除。 您必须为所有运行都这样做。 删除后尝试删除构建管道。
答案 4 :(得分:-1)