TFS 2017是否可以将构建定义导出和导入到远程服务器?

查卡

我们在内部服务器上安装了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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章