gpt4 book ai didi

tfs - Azure Pipeline 运行时不会自动删除

转载 作者:行者123 更新时间:2023-12-05 06:02:37 24 4
gpt4 key购买 nike

我们有两个构建 YAML 管道来在 TFS 上运行测试,一个用于前端测试,一个用于后端测试。我们使用两个自托管 Windows 代理来运行这些构建,我们在 Azure DevOps Server 2020 上。自从我们开始运行管道以来,我们注意到我们的 TFS 数据库大小不断膨胀。我们已尝试编辑我们的保留设置以仅保留最新的构建,但无论我们如何更改它们仍会保存。

以下是我们的保留设置:

集合设置

enter image description here

项目管道设置

enter image description here

项目管道发布保留:

enter image description here

编辑:测试保留设置:

enter image description here

结束编辑

我们的 YAML 管道没有任何特定的保留设置,因此我的理解是它默认为项目管道设置。然而,情况似乎并非如此。我们的运行可以追溯到 11 月,那是我们第一次创建管道的时候。我还可以手动检查哪些构建被保留,哪些没有被保留:

保留构建示例 enter image description here enter image description here

未保留构建示例 enter image description here enter image description here

但是,这些运行永远不会被删除。我对保留如何工作的理解是不正确的,构建不应该被 TFS 自动删除吗?或者我是否需要以某种方式更改我的 Azure DevOps 设置以在保留设置不再适用时自动删除构建?

同样值得一提的是,我们确实有一个发布管道,尽管我们在创建它之前就遇到了这些问题,并且发布管道只依赖于 master,但也没有删除任何功能运行。

我确实找到了 this SO 帖子似乎只适用于经典的 UI 管道编辑器。有什么方法可以将其应用于我的 YAML 管道?

编辑2

所以我确实在这方面取得了更多进展。我编写了一个脚本来删除所有未被保留设置保留的运行:

$token = "{PAT}"
$url="https://{instance}/{collection}/{project}/_apis/build/builds/?api-version=6.0"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

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

ForEach( $build in $response.value )
{
if ((-not $build.keepForever) -and (-not $build.retainedByRelease)) {
$url="https://{instance}/{collection}/{project}/_apis/build/builds/$($build.id)?api-version=6.0"
$deleteResponse = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Delete -ContentType application/json
Write-Host "Deleted" $url
}
}

这会很好地删除所有运行。但是,据我在文档中所说,这应该由 TFS 自动发生。是否有任何我可以过滤的事件日志源或一天中的任何特定时间来检查,这可能会引导我到实际删除运行的地方?

最佳答案

您的问题似乎已在 Azure DevOps 2020.0.1 Patch 2 Release 中得到解决.我建议查看 this thread详细了解该解决方案是否适用于您的情况。

关于tfs - Azure Pipeline 运行时不会自动删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66891132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com