我们在内部服务器上安装了Team Foundation Server 2017安装程序,我们在沙盒环境中构建了.NET代码,但希望能够手动或通过远程推送新的构建定义或远程(到我们的客户端-生产服务器)更新自动化的方式?
是的,您可以在TFS 2017中导出和导入构建定义。
在这种情况下,如果您有权从远程服务器访问和创建构建定义,则可以直接导出/导入构建定义。参考下面的截图。
此外,您还可以使用扩展名Export / Import Build Definition。
要更新构建定义,可以将REST API(更新构建定义)与PUT方法一起使用:
例如:
PUT http://server:8080/tfs/DefaultCollection/Project/_apis/build/definitions/29?api-version=2.0
Content-Type: application/json
{json body here}
更新:
您可以参考下面的示例来更新构建定义:
Param(
[string]$baseurl = "http://server:8080/tfs/Collection",
[string]$projectName = "ProjectName",
[string]$builddefinitionID = "29",
[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)))
function CreateJsonBody
{
$value = @"
{
body here
}
"@
return $value
}
$json = CreateJsonBody
$uri = "$baseurl/$($projectName)/_apis/build/definitions/$($builddefinitionID)?api-version=2.0"
$result = Invoke-RestMethod -Uri $uri -Method Put -Body $json -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句