从VS Team Services构建中运行的Powershell创建工作区

时间:2016-11-22 01:49:02

标签: powershell tfs azure-devops tfsbuild

我正在编写Powershell脚本作为Visual Studio Team Services构建的一部分,此构建使用托管构建控制器。该脚本旨在检出文件,进行更改,然后重新检入。

在脚本中,我尝试调用tf命令来创建新工作区,但我遇到了身份验证问题。命令

& $tf vc workspace /new $tempWorkspaceName /collection:https://mycollection.visualstudio.com/ 

产生错误:

  

TF30063:您无权访问https://mycollection.visualstudio.com/

如何在不在脚本中嵌入登录名或密码的情况下从我的Powershell脚本访问TFS?我是否可以在构建代理的上下文中访问TFS,构建代理本身会登录到TFS?或者我应该采取另一种方式吗?

请注意,我没有使用TFS Power Tool cmdlet,因为它是托管构建服务器。使用TFS RestAPI似乎也不是一个选项,因为无法检入或退出文件。

1 个答案:

答案 0 :(得分:6)

  1. 选中允许脚本访问构建定义的OAuth令牌选项 enter image description here
  2. / noprompt / loginType:OAuth / login:。,$(System.AccessToken)附加到您的TF命令(参数)
  3. 关于TF Command,您可以查看this文章。