首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >for构建删除/销毁-为构建规范创建无构建

for构建删除/销毁-为构建规范创建无构建
EN

Stack Overflow用户
提问于 2018-02-08 22:22:10
回答 1查看 1.5K关注 0票数 1

在我们的构建定义中还保留了1000多个版本,不管保留设置如何:我想用脚本删除构建,我正在尝试从远程PC上运行。我们的tfs服务器是2015.2。

代码语言:javascript
复制
tfsbuild destroy /collection:http://tfsserver:8080/tfs/ProjectCollection /dateRange:01/01/2017~31/12/2017 /buildDefinition:teamProject\Builddefintion

输出显示:没有为构建规范找到构建。尽管有许多构建符合标准。任何帮助都是非常感谢的。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-02-09 08:01:33

Tfsbuild delete/destroy只适用于Xaml构建。首先需要delete,然后是destroy

对于vNext构建,可以尝试使用REST (删除生成)删除它们:

代码语言:javascript
复制
DELETE http://server:8080/tfs/DefaultCollection/ProjectName/_apis/build/builds/{build Id}?api-version=2.0

您可以使用下面的PowerShell脚本删除2017年为特定构建定义所完成的所有构建:

代码语言:javascript
复制
Param(
   [string]$collectionurl = "http://server:8080/tfs/Collection",
   [string]$projectName = "ProjectName",
   [string]$builddefinitionID = "56",
   [string]$keepForever = "true",
   [string]$user = "username",
   [string]$token = "password"
)

# Base64-encodes the Personal Access Token (PAT) appropriately
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

#Get builds list which completed in the year 2017
$buildsUrl = "$($collectionurl)/$projectName/_apis/build/builds?definitions=$builddefinitionID&statusFilter=completed&api-version=2.0"   
$builds = (Invoke-RestMethod -Uri $buildsUrl -Method Get -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}).value | where({$_.finishTime -like '*2017*'})

#Delete the builds 
foreach ($build in $builds.id)
{
$deleteurl = "$($collectionurl)/$projectName/_apis/build/builds/$build"+"?api-version=2.0"

$result = (Invoke-RestMethod -Uri $deleteurl -Method Delete -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})

Write-Host "Builds deleted with the ID" : $build 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48695748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档